diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..ff60cfb --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,28 @@ +# SERVING CSTATE ON GITLAB PAGES +# Introduced in v4.2.1 +# +# This file is very similar to the existing GitLab template, and might need editing before it works on your project. +# +# All available Hugo versions are listed here: +# https://gitlab.com/pages/hugo/container_registry +# +# cState uses Hugo Extended. +image: registry.gitlab.com/pages/hugo/hugo_extended:0.100.2 + +variables: + GIT_SUBMODULE_STRATEGY: recursive + +test: + script: + - hugo + except: + - master + +pages: + script: + - hugo + artifacts: + paths: + - public + only: + - master diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..7a9fc42 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/cstate"] + path = themes/cstate + url = https://github.com/cstate/cstate diff --git a/README.md b/README.md new file mode 100644 index 0000000..1575f34 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# cState Site v5.5 + +This is the default cState status page website directory/folder. + +* Example site repository link (you are here): https://github.com/cstate/example +* Main cState source code repository: https://github.com/cstate/cstate + +## Are you updating? Use these commands + +Download your site with all the directories. `git clone --recursive ` + +Update the cState theme submodule. `git submodule foreach git pull origin master` + +In the parent directory, type `hugo serve`. Check to see if everything is working. + +Then do `git add -A; git commit -m "Update cState"; git push origin `. Your status page is now updated and uploaded. + + +## For maintainers (probably not for you) + +Maintainers need to update both cstate/cstate and cstate/example for each new version. + +Download this repo with all the directories. `git clone --recursive -b master https://github.com/cstate/example.git` + +Add your changes from cstate/cstate's exampleSite folder. + +Update the cState theme submodule. `git submodule foreach git pull origin master` + +Then push `git add -A; git commit -m "Update cState vX.X.X"; git push origin master`. + +## License + +MIT © Mantas Vilčinskas diff --git a/config.yml b/config.yml new file mode 100644 index 0000000..f968d0b --- /dev/null +++ b/config.yml @@ -0,0 +1,414 @@ +############################################################ +# +------------------------------------------------------+ # +# | Notes | # +# +------------------------------------------------------+ # +############################################################ + +# Welcome to the cState configuration file! +# +# If you are using an earlier version, or one +# in the future, such as v8.0 you may see errors +# pop up when deploying a cState website. +# +# Now, onto the fun part. +# +# Hugo is used for building the status page, +# so this file can be used to change how +# your status page should behave or look. +# +# If you want to use special characters, +# such as accented letters, you MUST save +# the file as UTF-8, not ANSI. +# +# If cState does not load, ensure that: +# - No tabs are present; +# YAML only allows spaces +# - Indents are correct +# YAML hierarchy is based entirely on indentation +# - You have "escaped" all apostrophes +# in your text: If you want to write "don't", +# for example, write "don''t" instead! +# Note the doubled apostrophe. +# - Text with symbols is enclosed in single +# or double quotation marks. +# +# If you have problems, create an issue on GitHub: +# https://github.com/cstate/cstate/issues + +############################################################ +# +------------------------------------------------------+ # +# | Basic metadata | # +# +------------------------------------------------------+ # +############################################################ + +# What is your status page called? +# Shows up in the browser bar and meta tags +title: Eggsample Status + +# Should posts, which have a publish date +# from the future, be built? Useful for +# sharing upcoming maintenance, etc. +# +# We recommend to keep this at `true`. +# BOOLEAN; `true`, `false` +buildFuture: true + +# What language do you want to use for the +# html[lang] definition? +# +# Does not change language of site +# itself. +# +# Default: `en` +# ISO 639-1 defines abbreviations. +# +# See: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes +# Also: https://www.w3schools.com/tags/ref_language_codes.asp +languageCode: en + +# What translation file should cState use? +# You can also define whether missing +# translations should get placeholders. +# +# For defaultContentLanguage— +# Default: `en` +# +# For enableMissingTranslationPlaceholders— +# do not set it to true for languages other +# than English! When tested with Lithuanian, +# it would add unnecesary placeholders to +# values that were intentionally empty. +defaultContentLanguage: en + +# What is the hostname or path to the root? +# Where is the site hosted? +# +# ❗ cState & Hugo don’t support '/' in +# production use. It will break RSS +# feeds and breaks permalinks since +# version 3. If you are just testing, +# localhost should automatically work. +# +# Example: +# baseUrl: https://status.example.com/ +# +# For testing: +# baseUrl: http://localhost +# +# Broken example: +# baseUrl: / +baseURL: https://example.com + +# For features like Last modified, you +# need to use a Git repository. If you +# are using Netlify, you are already +# using Git (with GitHub, GitLab, etc) +# +# So, should Git information be used +# for this website? +# +# We recommend to keep this at `true`. +# BOOLEAN; `true`, `false` +enableGitInfo: true + + +############################################################ +# +------------------------------------------------------+ # +# | Preferences | # +# +------------------------------------------------------+ # +############################################################ + +params: + # Before setting up your systems, you need + # to first define at least one category. + # + # Categories are shown in the order that + # you define in this config file. + # + # Categories can have a: + # - name + # - description + # - closed boolean `closed: true` + # That would collapse the category upon first load + # and the user can expand by clicking on the category + # (Requires JavaScript.) + # - untitled boolean `untitled: true` + # This would complerely hide the name of the category. + # This is useful, if you do not want to use categories + # because you need to set an 'Uncategorized' category. + # Or it can be used alongside other categories. + # + # These are case sensitive. + # + # For help, see the wiki: + # https://github.com/cstate/cstate/wiki/Customization + categories: + - name: North Coast + description: The main servers are located here. + closed: true + - name: Empty Category + - name: Uncategorized + untitled: true + + # These are your systems. Change them to + # change the amount of components. + # + # These are case sensitive. + # + # For help, see the wiki: + # https://github.com/cstate/cstate/wiki/Customization + systems: + - name: Gateway + category: North Coast + - name: Backup Gateway + category: North Coast + - name: Website + description: The web frontend for the application. + category: Uncategorized + link: https://example.com/ + - name: API + description: The guts of the application. + category: Uncategorized + - name: Media Proxy + description: This is the service responsible for serving images, audio, and video. It is reliant on our CDN. + category: Uncategorized + + # What date format to use? + # + # Hugo formatting docs: + # https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference + # + # Technical: GOLANG/HUGO .Date.Format & dateFormat + # + # dateFormat Default: "January 2, 2006 at 3:04 PM" + # shortDateFormat Default: "15:04 — Jan 2" + dateFormat: January 2, 2006 at 3:04 PM UTC + shortDateFormat: 15:04 UTC — Jan 2 + + # Should relative time (x min ago) be used? + # + # IMPORTANT: In the frontmatter, the dates MUST be in + # the UTC time zone for this to work preperly. If you + # use Netlify CMS, all good — the CMS picks UTC time + # by default. Otherwise, there may be very inaccurate + # times if multiple time zones are in your issue files. + # + # FOR YOUR CONSIDERATION: This feature was introduced in + # v5. It may be a breaking change in the case when you + # wish to use relative time but old issues do not have + # UTC time (and therefore are out of sync by ±24 hours) + # + # Read the wiki for more: + # https://github.com/cstate/cstate/wiki/Customization#time + # + # If enabled, will display relative times in places like + # the incident history and summaries instead of using + # dateFormat and shortDateFormat (except for if you use + # the old shortcode). + # + # Default: `true` + # BOOLEAN; `true`, `false` + useRelativeTime: true + + # If enabled, doesn't show seconds on relative times. + # + # With option ON (true): + # "Last checked <1 min ago" + # + # With option OFF (false; default): + # "Last checked 20s ago" + # + # Default: `false` + # BOOLEAN; `true`, `false` + skipSeconds: false + + # Should there be an automatic "Last updated" + # text shown below issues? + # + # Default: `true` + # BOOLEAN; `true`, `false` + enableLastMod: true + + # What header design should we use? + # + # Default: `true` + # BOOLEAN; `true`, `false` + useLargeHeaderDesign: false + + # Should incident history be separated + # like in an archive view? + # + # Note: This WILL disable pagination. + # + # Default: `yearly` + # STRING; `monthly`, `yearly`, `none` + incidentHistoryFormat: "yearly" + + # Should incident history be hidden? + # + # By disabling the incident history, you also disable + # the RSS feed. To ensure no incidents are shown, you + # should delete them after they are resolved. This option + # overrides any other options that tailor your incident + # history’s look. + # + # Default: `false` + # BOOLEAN; `true`, `false` + disableIncidentHistory: false + + # Disable dark mode + # + # If your OS and browser support the + # `prefers-color-scheme` media query, + # cState will automatically switch to + # a darker user interface. + # + # cState uses its built-in colors for + # most of the interface to ensure + # a good user experience. + # + # Default: `false` + # BOOLEAN; `true`, `false` + disableDarkMode: false + + # Should we show the logo or the title + # of the status page? + # + # Default: `false` + # BOOLEAN; `true`, `false` + useLogo: true + + # Where is the logo located, if one is + # present at all? + # + # Recommended: png is best used for + # images like logos. + # + # Recommended: png, bmp, jpg, or gif + # for best browser support! + logo: logo.png + + # This is the description that is shown + # on the footer and meta tags. + # + # Default: We continuously monitor the status of our services and if there are any interruptions, a note will be posted here. + description: We continuously monitor the status of our services and if there are any interruptions, a note will be posted here. + + # Tabs on homepage + # Uncomment to enable. + # + # Format: + # customTabs: + # - + # name: Name + # link: https://example.com + + # Disable complex server-side + # calculations that may impact + # your build performance + # + # Disables math calculations + # for average downtime on + # systems ("/affected/") pages + # + # Default: `false` + # BOOLEAN; `true`, `false` + disableComplexCalculations: false + + # Incident posts shown + # in one page + # + # NUMERIC; Default: `10` + incidentPostsPerPage: 10 + + # Colors throughout cState + # + # We recommend using HEX + # (with the # symbol). + # + # Defaults: + # + # brand: "#0a0c0f" + # ok: "#008000" + # disrupted: "#cc4400" + # down: "#e60000" + # notice: "#24478f" + brand: "#0a0c0f" + ok: "#008000" + disrupted: "#cc4400" + down: "#e60000" + notice: "#24478f" + + # If the status page shows that + # there are disruptions or outages + # happening, should it keep the + # brand header color or drop it + # and use the status indication + # colors that were just defined? + # + # Default: `true` + # BOOLEAN; `true`, `false` + alwaysKeepBrandColor: true + + # Introduced in v4.0.1 for consistent + # site title text color. + # + # If you do not use the logo, what color + # should the site text color be? + # + # Removing this option will not force + # any site text color. This is likely + # unwanted behavior. + # + # Default: `white` + # STRING; `white`, `black`, or nothing + headerTextColor: white + + # Google Analytics tracking code + # + # By default, cState does not use + # Google Analytics. If you choose + # to use it, you may change the + # placeholder code below to your + # own and thereby enable the + # tracking service. + # + # To disable the analytics, change + # the value to the default: + # + # Default: UA-00000000-1 + googleAnalytics: UA-00000000-1 + +# These options affect the core of cState. +# Please do not change them if you do not +# know what you are doing. +theme: cstate + +preserveTaxonomyNames: true + +taxonomies: + affected: affected + +outputs: + page: + - html + - json + section: + - html + - json + - rss + home: + - html + - json + - rss + - svg + term: + - html + - json + - rss + - svg + +outputFormats: + svg: + isPlainText: true + mediaType: image/svg+xml diff --git a/content/issues/.gitkeep b/content/issues/.gitkeep new file mode 100644 index 0000000..90fc975 --- /dev/null +++ b/content/issues/.gitkeep @@ -0,0 +1 @@ +If you plan to have an empty issues list, then please keep this file to prevent build failure. diff --git a/content/issues/2018-01-17-sending-dms-impacted.md b/content/issues/2018-01-17-sending-dms-impacted.md new file mode 100644 index 0000000..b96139f --- /dev/null +++ b/content/issues/2018-01-17-sending-dms-impacted.md @@ -0,0 +1,15 @@ +--- +title: Issues Sending DMs +date: 2017-12-17 16:24:00 +resolved: true +resolvedWhen: 2017-12-17 16:58:00 +# Possible severity levels: down, disrupted, notice +severity: disrupted +affected: + - API +section: issue +--- + +*Update* - This incident has been resolved. + +*Investigating* - We're aware of an issue affecting sending DMs and viewing online friends. We're online and working on a resolution. diff --git a/content/issues/2018-04-13-unavailable-guilds-connection-issues.md b/content/issues/2018-04-13-unavailable-guilds-connection-issues.md new file mode 100644 index 0000000..170bd1f --- /dev/null +++ b/content/issues/2018-04-13-unavailable-guilds-connection-issues.md @@ -0,0 +1,25 @@ +--- +title: Unavailable Guilds & Connection Issues +date: 2018-04-13 15:54:00 +resolved: true +resolvedWhen: 2018-04-13 17:30:00 +# Possible severity levels: down, disrupted, notice +severity: down +affected: + - API + - Media Proxy +section: issue +--- + +*Post-mortem* + +At approximately 14:01, a Redis instance acting as the primary for a highly-available cluster used by our API services was migrated automatically by Google’s Cloud Platform. This migration caused the node to incorrectly drop offline, forcing the cluster to rebalance and trigger known issues with the way our API instances handle Redis failover. After resolving this partial outage, unnoticed issues on other services caused a cascading failure through Example Chat App’s real time system. These issues caused enough critical impact that Example Chat App’s engineering team was forced to fully restart the service, reconnecting millions of clients over a period of 20 minutes. + + +--- + +*Update* - A fix has been implemented and we are monitoring the results. Looks like this has been fixed. {{< track "2018-04-13 17:30:00" >}} + +*Monitoring* - After hitting the ole reboot button Example Chat App is now recovering. We're going to continue to monitor as everyone reconnects. {{< track "2018-04-13 16:50:00" >}} + +*Investigating* - We're aware of users experiencing unavailable guilds and issues when attempting to connect. We're currently investigating. {{< track "2018-04-13 15:54:00" >}} diff --git a/content/issues/2018-05-25-us-east-conn-issues.md b/content/issues/2018-05-25-us-east-conn-issues.md new file mode 100644 index 0000000..8d56cf2 --- /dev/null +++ b/content/issues/2018-05-25-us-east-conn-issues.md @@ -0,0 +1,20 @@ +--- +title: US East Connection Issues +date: 2018-04-25 04:13:00 +resolved: true +resolvedWhen: 2018-04-25 04:13:59 +# Possible severity levels: down, disrupted, notice +severity: down +affected: + - API + - Media Proxy + - Gateway +section: issue +--- + +*Resolved* - +We believe all users experiencing issues have been able to connect at this time. {{< track "2018-05-25 05:54:00" >}} + +*Monitoring* - We believe the connectivity issues are being caused by an isolated ISP issue. We've had reports that swapping to Google DNS servers (see here; https://developers.google.com/speed/public-dns/docs/using) resolves the problem for users. {{< track "2018-05-25 04:40:00" >}} + +*Investigating* - We're aware of reports that users are experiencing connection issues on the East coast of the United States. We're currently investigating these issues, and apologize for any inconvenience it may be causing you. {{< track "2018-05-25 04:13:00" >}} diff --git a/content/issues/2019-10-08-testing-new-pipeline.md b/content/issues/2019-10-08-testing-new-pipeline.md new file mode 100644 index 0000000..4e9da4f --- /dev/null +++ b/content/issues/2019-10-08-testing-new-pipeline.md @@ -0,0 +1,14 @@ +--- +title: New Pipeline Rollout +date: 2019-10-05 16:24:00 +resolved: true +resolvedWhen: 2019-10-05 16:58:00 +# Possible severity levels: down, disrupted, notice +severity: disrupted +affected: + - API +section: issue +--- + +There may be disruptions in the rollout. + \ No newline at end of file diff --git a/content/issues/2024-02-24-maintenance-window.md b/content/issues/2024-02-24-maintenance-window.md new file mode 100644 index 0000000..e5a5b14 --- /dev/null +++ b/content/issues/2024-02-24-maintenance-window.md @@ -0,0 +1,9 @@ +--- +title: Maintenance Announcement +date: 2024-02-24 10:35:00 +informational: true +pin: true +section: issue +--- + +We will shut down our network at midnight UTC on Feb 24. This does not affect the current status. diff --git a/content/issues/i-testing-cstate-functions.md b/content/issues/i-testing-cstate-functions.md new file mode 100644 index 0000000..cf833ac --- /dev/null +++ b/content/issues/i-testing-cstate-functions.md @@ -0,0 +1,10 @@ +--- +title: Testing New cState Features +date: 2019-10-04 18:05:00 +informational: true +section: issue +--- + +There is a new feature in cState version 4 that lets you make what are called _informational_ posts. The main difference is that there will be no _Unresolved_ or _Resolved in under a minute_ text on the pages. + +This is essentially a page with a date and title that shows up in the incident history. \ No newline at end of file diff --git a/content/pages/example-page.md b/content/pages/example-page.md new file mode 100644 index 0000000..e373e84 --- /dev/null +++ b/content/pages/example-page.md @@ -0,0 +1,170 @@ +--- +title: Example Page +description: This is an example page that demonstrates the capabilities of a Markdown page in cState. +--- + +Title here! +=========== + +This is an example page that demonstrates the capabilities of a Markdown page in cState. + +You can use HTML if the file extension is `.html`, but this one is `.md`. + +Let us dive in. + +Paragraphs are separated by a blank line. + +2nd paragraph. *Italic*, **bold**, and `monospace`. Itemized lists +look like: + + * this one + * that one + * the other one + +Note that --- not considering the asterisk --- the actual text +content starts at 4-columns in. + +> Block quotes are +> written like so. +> +> They can span multiple paragraphs, +> if you like. + +Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all +in chapters 12--14"). Three dots ... will be converted to an ellipsis. +Unicode is supported. ☺ + + + +An h2 header +------------ + +Here's a numbered list: + + 1. first item + 2. second item + 3. third item + +Note again how the actual text starts at 4 columns in (4 characters +from the left side). Here's a code sample: + + # Let me re-iterate ... + for i in 1 .. 10 { do-something(i) } + +As you probably guessed, indented 4 spaces. By the way, instead of +indenting the block, you can use delimited blocks, if you like: + +~~~ +define foobar() { + print "Welcome to flavor country!"; +} +~~~ + +(which makes copying & pasting easier). You can optionally mark the +delimited block for Pandoc to syntax highlight it: + +~~~python +import time +# Quick, count to ten! +for i in range(10): + # (but not *too* quick) + time.sleep(0.5) + print(i) +~~~ + + + +### An h3 header ### + +Now a nested list: + + 1. First, get these ingredients: + + * carrots + * celery + * lentils + + 2. Boil some water. + + 3. Dump everything in the pot and follow + this algorithm: + + find wooden spoon + uncover pot + stir + cover pot + balance wooden spoon precariously on pot handle + wait 10 minutes + goto first step (or shut off burner when done) + + Do not bump wooden spoon or it will fall. + +Notice again how text always lines up on 4-space indents (including +that last line which continues item 3 above). + +Here's a link to [a website](http://foo.bar), to a [local +doc](local-doc.html), and to a [section heading in the current +doc](#an-h2-header). Here's a footnote [^1]. + +[^1]: Some footnote text. + +Tables can look like this: + +Name Size Material Color +-------------|-----|------------|------------ +All Business 9 leather brown +Roundabout 10 hemp canvas natural +Cinderella 11 glass transparent + +Table: Shoes sizes, materials, and colors. + +(The above is the caption for the table.) Pandoc also supports +multi-line tables: + +-------- ----------------------- +Keyword Text +-------- ----------------------- +red Sunsets, apples, and + other red or reddish + things. + +green Leaves, grass, frogs + and other things it's + not easy being. +-------- ----------------------- + +A horizontal rule follows. + +*** + +Here's a definition list: + +apples + : Good for making applesauce. + +oranges + : Citrus! + +tomatoes + : There's no "e" in tomatoe. + +Again, text is indented 4 spaces. (Put a blank line between each +term and its definition to spread things out more.) + +Here's a "line block" (note how whitespace is honored): + +| Line one +| Line too +| Line tree + +and images can be specified like so: + +![example image](https://via.placeholder.com/350x150 "An exemplary image") + +Inline math equation: $\omega = d\phi / dt$. Display +math should get its own line like so: + +$$I = \int \rho R^{2} dV$$ + +And note that you can backslash-escape any punctuation characters +which you wish to be displayed literally, ex.: \`foo\`, \*bar\*, etc. \ No newline at end of file diff --git a/layouts/README.md b/layouts/README.md new file mode 100644 index 0000000..794cbb1 --- /dev/null +++ b/layouts/README.md @@ -0,0 +1,3 @@ +This folder can be used to overwrite or add any layouts to your status page. + +For more, please [read the documentation](https://github.com/cstate/cstate/wiki/Customization). diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..cbef91a --- /dev/null +++ b/netlify.toml @@ -0,0 +1,22 @@ +[build] + command = "hugo" + publish = "public" + functions = "functions" + +[build.environment] + HUGO_VERSION = "0.80.0" + +[context.production.environment] + HUGO_ENV = "production" + NODE_ENV = "production" + +[context.deploy-preview] + command = "hugo -b $DEPLOY_PRIME_URL" + +[context.branch-deploy] + command = "hugo -b $DEPLOY_PRIME_URL" + +[[headers]] + for = "/*" + [headers.values] + Access-Control-Allow-Origin = "*" diff --git a/netlify/change.html b/netlify/change.html new file mode 100644 index 0000000..23ad8a3 --- /dev/null +++ b/netlify/change.html @@ -0,0 +1,5 @@ +

[cState Admin]
An email change has been requested.

+ +

Follow this link to confirm the update of your email from {{ .Email }} to {{ .NewEmail }}:

+ +

Make it {{ .NewEmail }}

\ No newline at end of file diff --git a/netlify/confirmation.html b/netlify/confirmation.html new file mode 100644 index 0000000..b6b8e55 --- /dev/null +++ b/netlify/confirmation.html @@ -0,0 +1,5 @@ +

[cState Admin]
Confirm your signup, please.

+ +

Follow this link to confirm your account:

+ +

Yes, confirm this email

diff --git a/netlify/invitation.html b/netlify/invitation.html new file mode 100644 index 0000000..4ad78bd --- /dev/null +++ b/netlify/invitation.html @@ -0,0 +1,5 @@ +

[cState Admin]
You have been invited!

+ +

You have been invited to create a user profile on {{ .SiteURL }}. Follow this link to accept the invite:

+ +

Accept the invite

diff --git a/netlify/recovery.html b/netlify/recovery.html new file mode 100644 index 0000000..1de69fd --- /dev/null +++ b/netlify/recovery.html @@ -0,0 +1,7 @@ +

[cState Admin]
A password reset has been requested.

+ +

Follow this link to reset the password for your account:

+ +

Recover my access

+ +

Note: If you did not request a password change, you do not need to do anything. It may mean someone else is trying to log into your account.

\ No newline at end of file diff --git a/static/README.md b/static/README.md new file mode 100644 index 0000000..7541621 --- /dev/null +++ b/static/README.md @@ -0,0 +1,9 @@ +This folder can be used to store any static content that you may want to link to on your status page. + +You may replace the default favicons by creating icons with these names: + +- favicon-16x16.png +- favicon-32x32.png +- favicon.ico + +You may also replace the Netlify CMS configuration by creating an `admin` folder and placing your own `config.yml` or `index.html` file by following the project's given instructions. diff --git a/static/_headers b/static/_headers new file mode 100644 index 0000000..c776a47 --- /dev/null +++ b/static/_headers @@ -0,0 +1,2 @@ +/* + Access-Control-Allow-Origin: * diff --git a/static/img/README.md b/static/img/README.md new file mode 100644 index 0000000..5f250f1 --- /dev/null +++ b/static/img/README.md @@ -0,0 +1 @@ +For users of Netlify CMS with cState, `static/img` is the media folder in the config. diff --git a/static/logo.png b/static/logo.png new file mode 100644 index 0000000..95223da Binary files /dev/null and b/static/logo.png differ diff --git a/themes/cstate b/themes/cstate new file mode 160000 index 0000000..02a4f01 --- /dev/null +++ b/themes/cstate @@ -0,0 +1 @@ +Subproject commit 02a4f0195a7f0b604c4528603aafa42e273b48b6 diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..53aef1d --- /dev/null +++ b/vercel.json @@ -0,0 +1,12 @@ +{ + "headers": [ + { + "source": "/(.*)", + "headers": [ + { "key": "Access-Control-Allow-Origin", "value": "*" }, + { "key": "Access-Control-Allow-Methods", "value": "GET,OPTIONS" }, + { "key": "Access-Control-Allow-Headers", "value": "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version" } + ] + } + ] +}