Feature/rebrand (#27)

This commit is contained in:
Daniel Lautzenheiser 2022-10-02 20:06:20 -04:00 committed by GitHub
parent 11a684f372
commit 8a59f850d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
117 changed files with 2398 additions and 2272 deletions

View File

@ -17,7 +17,7 @@ module.exports = {
'cypress/globals': true, 'cypress/globals': true,
}, },
globals: { globals: {
SIMPLE_CMS_CORE_VERSION: false, STATIC_CMS_CORE_VERSION: false,
CMS_ENV: false, CMS_ENV: false,
}, },
rules: { rules: {

View File

@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement ## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at simplecmsorg@gmail.com. All reported by contacting the project team at staticjscms@gmail.com. All
complaints will be reviewed and investigated and will result in a response that complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident. obligated to maintain confidentiality with regard to the reporter of an incident.

View File

@ -3,7 +3,7 @@
Contributions are always welcome, no matter how large or small. Before contributing, Contributions are always welcome, no matter how large or small. Before contributing,
please read the [code of conduct](CODE_OF_CONDUCT.md). please read the [code of conduct](CODE_OF_CONDUCT.md).
For details on contributing to documentation, see [Website Directory Readme](https://github.com/SimpleCMS/simple-cms/blob/main/website/README.md). For details on contributing to documentation, see [Website Directory Readme](https://github.com/StaticJsCMS/static-cms/blob/main/website/README.md).
## Setup ## Setup
@ -14,8 +14,8 @@ For details on contributing to documentation, see [Website Directory Readme](htt
> Only required on the first run, subsequent runs can use `yarn start` to both bootstrap and run the development server. > Only required on the first run, subsequent runs can use `yarn start` to both bootstrap and run the development server.
```sh ```sh
git clone https://github.com/SimpleCMS/simple-cms git clone https://github.com/StaticJsCMS/static-cms
cd simple-cms cd static-cms
yarn yarn
``` ```
@ -45,7 +45,7 @@ yarn clean
### build ### build
Runs the `clean` script and builds the simple-cms-core. Runs the `clean` script and builds the static-cms-core.
```sh ```sh
yarn build yarn build
@ -65,7 +65,7 @@ We actively welcome your pull requests!
If you need help with Git or our workflow, please ask. We want your contributions even if you're just learning Git. Our maintainers are happy to help! If you need help with Git or our workflow, please ask. We want your contributions even if you're just learning Git. Our maintainers are happy to help!
Simple CMS uses the [Forking Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow) + [Feature Branches](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow). Additionally, PR's should be [rebased](https://www.atlassian.com/git/tutorials/merging-vs-rebasing) on main when opened, and again before merging. Static CMS uses the [Forking Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow) + [Feature Branches](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow). Additionally, PR's should be [rebased](https://www.atlassian.com/git/tutorials/merging-vs-rebasing) on main when opened, and again before merging.
1. Fork the repo. 1. Fork the repo.
2. Create a branch from `main`. If you're addressing a specific issue, prefix your branch name with the issue number. 2. Create a branch from `main`. If you're addressing a specific issue, prefix your branch name with the issue number.
@ -95,7 +95,7 @@ backend:
When debugging the CMS with Git Gateway you must: When debugging the CMS with Git Gateway you must:
1. Have a Netlify site with [Git Gateway](https://docs.netlify.com/visitor-access/git-gateway/) and [Netlify Identity](https://docs.netlify.com/visitor-access/identity/) enabled. An easy way to create such a site is to use a [template](https://www.simplecms.github.io/simple-cms/docs/start-with-a-template/), for example the [Gatsby template](https://app.netlify.com/start/deploy?repository=https://github.com/AustinGreen/gatsby-starter-netlify-cms&stack=cms) 1. Have a Netlify site with [Git Gateway](https://docs.netlify.com/visitor-access/git-gateway/) and [Netlify Identity](https://docs.netlify.com/visitor-access/identity/) enabled. An easy way to create such a site is to use a [template](https://www.staticjscms.github.io/static-cms/docs/start-with-a-template/), for example the [Gatsby template](https://app.netlify.com/start/deploy?repository=https://github.com/AustinGreen/gatsby-starter-netlify-cms&stack=cms)
2. Tell the CMS the URL of your Netlify site using a local storage item. To do so: 2. Tell the CMS the URL of your Netlify site using a local storage item. To do so:
1. Open `http://localhost:8080/` in the browser 1. Open `http://localhost:8080/` in the browser
@ -106,4 +106,4 @@ When debugging the CMS with Git Gateway you must:
## License ## License
By contributing to Simple CMS, you agree that your contributions will be licensed under its [MIT license](LICENSE). By contributing to Static CMS, you agree that your contributions will be licensed under its [MIT license](LICENSE).

View File

@ -1,13 +1,13 @@
<div align="center"> <div align="center">
<img src="simple-cms-logo.png" width="500px" /> <img src="static-cms-logo.png" width="500px" />
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/SimpleCMS/simple-cms/blob/main/LICENSE) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/StaticJsCMS/static-cms/blob/main/LICENSE)
[![npm latest package](https://img.shields.io/npm/v/@simplecms/simple-cms-core/latest.svg)](https://www.npmjs.com/package/@simplecms/simple-cms-core) [![npm latest package](https://img.shields.io/npm/v/@staticcms/core/latest.svg)](https://www.npmjs.com/package/@staticcms/core)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/SimpleCMS/simple-cms/blob/main/CONTRIBUTING.md) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/StaticJsCMS/static-cms/blob/main/CONTRIBUTING.md)
</div> </div>
[simplecms.github.io/simple-cms](https://www.simplecms.github.io/simple-cms/) [staticjscms.github.io/static-cms](https://www.staticjscms.github.io/static-cms/)
A CMS for static site generators. Give users a simple way to edit A CMS for static site generators. Give users a simple way to edit
and add content to any site built with a static site generator. and add content to any site built with a static site generator.
@ -16,7 +16,7 @@ and add content to any site built with a static site generator.
## How It Works ## How It Works
Simple CMS is a single-page app that you pull into the `/admin` part of your site. Static CMS is a single-page app that you pull into the `/admin` part of your site.
It presents a clean UI for editing content stored in a Git repository. It presents a clean UI for editing content stored in a Git repository.
@ -26,21 +26,21 @@ tweak the main layout of the CMS a bit to fit your own site.
When a user navigates to `/admin/` they'll be prompted to log in, and once authenticated When a user navigates to `/admin/` they'll be prompted to log in, and once authenticated
they'll be able to create new content or edit existing content. they'll be able to create new content or edit existing content.
Read more about Simple CMS [Core Concepts](https://www.simplecms.github.io/simple-cms/docs/intro/). Read more about Static CMS [Core Concepts](https://www.staticjscms.github.io/static-cms/docs/intro/).
# Installation and Configuration # Installation and Configuration
The Simple CMS can be used in two different ways. The Static CMS can be used in two different ways.
* A Quick and easy install, that requires you to create a single HTML file and a configuration file. All the CMS JavaScript and CSS are loaded from a CDN. * A Quick and easy install, that requires you to create a single HTML file and a configuration file. All the CMS JavaScript and CSS are loaded from a CDN.
To learn more about this installation method, refer to the [Quick Start Guide](https://www.simplecms.github.io/simple-cms/docs/quick-start/) To learn more about this installation method, refer to the [Quick Start Guide](https://www.staticjscms.github.io/static-cms/docs/quick-start/)
* A complete, more complex install, that gives you more flexibility but requires that you use a static site builder with a build system that supports npm packages. * A complete, more complex install, that gives you more flexibility but requires that you use a static site builder with a build system that supports npm packages.
# simple-cms-core # static-cms-core
## Installation ## Installation
`npm install @simplecms/simple-cms-core` `npm install @staticcms/core`
## Setup ## Setup
@ -62,7 +62,7 @@ import {
ListWidget, ListWidget,
MapWidget, MapWidget,
MarkdownWidget, MarkdownWidget,
SimpleCmsCore as CMS, StaticCmsCore as CMS,
NumberWidget, NumberWidget,
ObjectWidget, ObjectWidget,
ProxyBackend, ProxyBackend,
@ -74,7 +74,7 @@ import {
locales, locales,
Icon, Icon,
images images
} from '@simple-cms/simple-cms-core'; } from '@static-cms/static-cms-core';
// Register all the things // Register all the things
CMS.registerBackend('git-gateway', GitGatewayBackend); CMS.registerBackend('git-gateway', GitGatewayBackend);
@ -117,20 +117,20 @@ Object.keys(images).forEach(iconName => {
# Contributing # Contributing
New contributors are always welcome! Check out [CONTRIBUTING.md](https://github.com/SimpleCMS/simple-cms/blob/main/CONTRIBUTING.md) to get involved. New contributors are always welcome! Check out [CONTRIBUTING.md](https://github.com/StaticJsCMS/static-cms/blob/main/CONTRIBUTING.md) to get involved.
# Change Log # Change Log
This project adheres to [Semantic Versioning](http://semver.org/). This project adheres to [Semantic Versioning](http://semver.org/).
Every release is documented on the Github [Releases](https://github.com/SimpleCMS/simple-cms/releases) page. Every release is documented on the Github [Releases](https://github.com/StaticJsCMS/static-cms/releases) page.
# License # License
Simple CMS is released under the [MIT License](LICENSE). Static CMS is released under the [MIT License](LICENSE).
Please make sure you understand its [implications and guarantees](https://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html). Please make sure you understand its [implications and guarantees](https://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html).
# Netlify CMS # Netlify CMS
Simple CMS is a fork of Netlify CMS focusing on the core product over adding massive new features. Static CMS is a fork of Netlify CMS focusing on the core product over adding massive new features.
# Thanks # Thanks

View File

@ -59,7 +59,7 @@ function plugins() {
[ [
'transform-define', 'transform-define',
{ {
SIMPLE_CMS_CORE_VERSION: `${coreVersion}`, STATIC_CMS_CORE_VERSION: `${coreVersion}`,
}, },
], ],
[ [

File diff suppressed because one or more lines are too long

2
index.d.ts vendored
View File

@ -1,5 +1,5 @@
/* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-explicit-any */
declare module '@simplecms/simple-cms-core' { declare module '@staticcms/core' {
import type { Iterable as ImmutableIterable, List, Map } from 'immutable'; import type { Iterable as ImmutableIterable, List, Map } from 'immutable';
import type { ComponentType, FocusEventHandler, ReactNode } from 'react'; import type { ComponentType, FocusEventHandler, ReactNode } from 'react';
import type { t } from 'react-polyglot'; import type { t } from 'react-polyglot';

View File

@ -1,10 +1,10 @@
{ {
"name": "@simplecms/simple-cms-core", "name": "@staticcms/core",
"version": "0.2.0", "version": "0.2.0",
"license": "MIT", "license": "MIT",
"description": "Simple CMS core application.", "description": "Static CMS core application.",
"repository": "https://github.com/SimpleCMS/simple-cms", "repository": "https://github.com/StaticJsCMS/static-cms",
"bugs": "https://github.com/SimpleCMS/simple-cms/issues", "bugs": "https://github.com/StaticJsCMS/static-cms/issues",
"keywords": [ "keywords": [
"simple", "simple",
"cms", "cms",
@ -27,7 +27,7 @@
"start": "run-s clean develop" "start": "run-s clean develop"
}, },
"module": "dist/esm/index.js", "module": "dist/esm/index.js",
"main": "dist/simple-cms-core.js", "main": "dist/static-cms-core.js",
"files": [ "files": [
"src/", "src/",
"dist/", "dist/",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View File

@ -425,7 +425,7 @@ export async function detectProxyServer(localBackend?: boolean | CmsLocalBackend
: localBackend.url || defaultUrl.replace('localhost', location.hostname); : localBackend.url || defaultUrl.replace('localhost', location.hostname);
try { try {
console.info(`Looking for Simple CMS Proxy Server at '${proxyUrl}'`); console.info(`Looking for Static CMS Proxy Server at '${proxyUrl}'`);
const res = await fetch(`${proxyUrl}`, { const res = await fetch(`${proxyUrl}`, {
method: 'POST', method: 'POST',
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
@ -436,14 +436,14 @@ export async function detectProxyServer(localBackend?: boolean | CmsLocalBackend
type?: string; type?: string;
}; };
if (typeof repo === 'string' && typeof type === 'string') { if (typeof repo === 'string' && typeof type === 'string') {
console.info(`Detected Simple CMS Proxy Server at '${proxyUrl}' with repo: '${repo}'`); console.info(`Detected Static CMS Proxy Server at '${proxyUrl}' with repo: '${repo}'`);
return { proxyUrl, type }; return { proxyUrl, type };
} else { } else {
console.info(`Simple CMS Proxy Server not detected at '${proxyUrl}'`); console.info(`Static CMS Proxy Server not detected at '${proxyUrl}'`);
return {}; return {};
} }
} catch { } catch {
console.info(`Simple CMS Proxy Server not detected at '${proxyUrl}'`); console.info(`Static CMS Proxy Server not detected at '${proxyUrl}'`);
return {}; return {};
} }
} }

View File

@ -90,7 +90,7 @@ function updateAssetProxies(
} }
export class LocalStorageAuthStore { export class LocalStorageAuthStore {
storageKey = 'simple-cms-user'; storageKey = 'static-cms-user';
retrieve() { retrieve() {
const data = window.localStorage.getItem(this.storageKey); const data = window.localStorage.getItem(this.storageKey);

View File

@ -2,7 +2,7 @@ import AzureBackend from './implementation';
import API from './API'; import API from './API';
import AuthenticationPage from './AuthenticationPage'; import AuthenticationPage from './AuthenticationPage';
export const SimpleCmsBackendAzure = { export const StaticCmsBackendAzure = {
AzureBackend, AzureBackend,
API, API,
AuthenticationPage, AuthenticationPage,

View File

@ -2,7 +2,7 @@ import BitbucketBackend from './implementation';
import API from './API'; import API from './API';
import AuthenticationPage from './AuthenticationPage'; import AuthenticationPage from './AuthenticationPage';
export const SimpleCmsBackendBitbucket = { export const StaticCmsBackendBitbucket = {
BitbucketBackend, BitbucketBackend,
API, API,
AuthenticationPage, AuthenticationPage,

View File

@ -294,7 +294,7 @@ export default class GitGateway implements Implementation {
const userRoles = get(jwtDecode(token), 'app_metadata.roles', []); const userRoles = get(jwtDecode(token), 'app_metadata.roles', []);
const validRole = intersection(userRoles, this.acceptRoles).length > 0; const validRole = intersection(userRoles, this.acceptRoles).length > 0;
if (!validRole) { if (!validRole) {
throw new Error("You don't have sufficient permissions to access Simple CMS"); throw new Error("You don't have sufficient permissions to access Static CMS");
} }
} }
@ -328,7 +328,7 @@ export default class GitGateway implements Implementation {
} }
if (!(await this.api!.hasWriteAccess())) { if (!(await this.api!.hasWriteAccess())) {
throw new Error("You don't have sufficient permissions to access Simple CMS"); throw new Error("You don't have sufficient permissions to access Static CMS");
} }
return { name: userData.name, login: userData.email } as User; return { name: userData.name, login: userData.email } as User;
}); });

View File

@ -1,7 +1,7 @@
import GitGatewayBackend from './implementation'; import GitGatewayBackend from './implementation';
import AuthenticationPage from './AuthenticationPage'; import AuthenticationPage from './AuthenticationPage';
export const SimpleCmsBackendGitGateway = { export const StaticCmsBackendGitGateway = {
GitGatewayBackend, GitGatewayBackend,
AuthenticationPage, AuthenticationPage,
}; };

View File

@ -130,7 +130,7 @@ export default class API {
this.originRepoName = originRepoParts[1]; this.originRepoName = originRepoParts[1];
} }
static DEFAULT_COMMIT_MESSAGE = 'Automatically generated by Simple CMS'; static DEFAULT_COMMIT_MESSAGE = 'Automatically generated by Static CMS';
user(): Promise<{ name: string; login: string }> { user(): Promise<{ name: string; login: string }> {
if (!this._userPromise) { if (!this._userPromise) {
@ -271,12 +271,12 @@ export default class API {
} }
checkMetadataRef() { checkMetadataRef() {
return this.request(`${this.repoURL}/git/refs/meta/_simple_cms`) return this.request(`${this.repoURL}/git/refs/meta/_static_cms`)
.then(response => response.object) .then(response => response.object)
.catch(() => { .catch(() => {
// Meta ref doesn't exist // Meta ref doesn't exist
const readme = { const readme = {
raw: '# Simple CMS\n\nThis tree is used by the Simple CMS to store metadata information for specific files and branches.', raw: '# Static CMS\n\nThis tree is used by the Static CMS to store metadata information for specific files and branches.',
}; };
return this.uploadBlob(readme) return this.uploadBlob(readme)
@ -289,7 +289,7 @@ export default class API {
}), }),
) )
.then(tree => this.commit('First Commit', tree)) .then(tree => this.commit('First Commit', tree))
.then(response => this.createRef('meta', '_simple_cms', response.sha)) .then(response => this.createRef('meta', '_static_cms', response.sha))
.then(response => response.object); .then(response => response.object);
}); });
} }
@ -310,7 +310,7 @@ export default class API {
await this.uploadBlob(file); await this.uploadBlob(file);
const changeTree = await this.updateTree(branchData.sha, [file as TreeFile]); const changeTree = await this.updateTree(branchData.sha, [file as TreeFile]);
const { sha } = await this.commit(`Updating “${key}” metadata`, changeTree); const { sha } = await this.commit(`Updating “${key}” metadata`, changeTree);
await this.patchRef('meta', '_simple_cms', sha); await this.patchRef('meta', '_static_cms', sha);
await localForage.setItem(`gh.meta.${key}`, { await localForage.setItem(`gh.meta.${key}`, {
expires: Date.now() + 300000, // In 5 minutes expires: Date.now() + 300000, // In 5 minutes
data, data,
@ -336,7 +336,7 @@ export default class API {
const changeTree = await this.updateTree(branchData.sha, [file]); const changeTree = await this.updateTree(branchData.sha, [file]);
const { sha } = await this.commit(`Deleting “${key}” metadata`, changeTree); const { sha } = await this.commit(`Deleting “${key}” metadata`, changeTree);
await this.patchRef('meta', '_simple_cms', sha); await this.patchRef('meta', '_static_cms', sha);
this._metadataSemaphore?.leave(); this._metadataSemaphore?.leave();
resolve(); resolve();
} catch (err) { } catch (err) {
@ -354,7 +354,7 @@ export default class API {
); );
const metadataRequestOptions = { const metadataRequestOptions = {
params: { ref: 'refs/meta/_simple_cms' }, params: { ref: 'refs/meta/_static_cms' },
headers: { Accept: 'application/vnd.github.v3.raw' }, headers: { Accept: 'application/vnd.github.v3.raw' },
}; };

View File

@ -2,7 +2,7 @@ import GitHubBackend from './implementation';
import API from './API'; import API from './API';
import AuthenticationPage from './AuthenticationPage'; import AuthenticationPage from './AuthenticationPage';
export const SimpleCmsBackendGithub = { export const StaticCmsBackendGithub = {
GitHubBackend, GitHubBackend,
API, API,
AuthenticationPage, AuthenticationPage,

View File

@ -2,7 +2,7 @@ import GitLabBackend from './implementation';
import API from './API'; import API from './API';
import AuthenticationPage from './AuthenticationPage'; import AuthenticationPage from './AuthenticationPage';
export const SimpleCmsBackendGitlab = { export const StaticCmsBackendGitlab = {
GitLabBackend, GitLabBackend,
API, API,
AuthenticationPage, AuthenticationPage,

View File

@ -52,7 +52,7 @@ export default class AuthenticationPage extends React.Component {
return ( return (
<StyledAuthenticationPage> <StyledAuthenticationPage>
<PageLogoIcon size="300px" type="simple-cms" /> <PageLogoIcon size="300px" type="static-cms" />
<LoginButton disabled={inProgress} onClick={this.handleLogin}> <LoginButton disabled={inProgress} onClick={this.handleLogin}>
{inProgress ? t('auth.loggingIn') : t('auth.login')} {inProgress ? t('auth.loggingIn') : t('auth.login')}
</LoginButton> </LoginButton>

View File

@ -1,7 +1,7 @@
import ProxyBackend from './implementation'; import ProxyBackend from './implementation';
import AuthenticationPage from './AuthenticationPage'; import AuthenticationPage from './AuthenticationPage';
export const SimpleCmsBackendProxy = { export const StaticCmsBackendProxy = {
ProxyBackend, ProxyBackend,
AuthenticationPage, AuthenticationPage,
}; };

View File

@ -62,7 +62,7 @@ export default class AuthenticationPage extends React.Component {
return ( return (
<StyledAuthenticationPage> <StyledAuthenticationPage>
<PageLogoIcon size="300px" type="simple-cms" /> <PageLogoIcon size="300px" type="static-cms" />
<LoginButton disabled={inProgress} onClick={this.handleLogin}> <LoginButton disabled={inProgress} onClick={this.handleLogin}>
{inProgress ? t('auth.loggingIn') : t('auth.login')} {inProgress ? t('auth.loggingIn') : t('auth.login')}
</LoginButton> </LoginButton>

View File

@ -1,7 +1,7 @@
import TestBackend from './implementation'; import TestBackend from './implementation';
import AuthenticationPage from './AuthenticationPage'; import AuthenticationPage from './AuthenticationPage';
export const SimpleCmsBackendTest = { export const StaticCmsBackendTest = {
TestBackend, TestBackend,
AuthenticationPage, AuthenticationPage,
}; };

4
src/bootstrap.js vendored
View File

@ -45,8 +45,8 @@ function bootstrap(opts = {}) {
/** /**
* Log the version number. * Log the version number.
*/ */
if (typeof SIMPLE_CMS_CORE_VERSION === 'string') { if (typeof STATIC_CMS_CORE_VERSION === 'string') {
console.info(`simple-cms-core ${SIMPLE_CMS_CORE_VERSION}`); console.info(`static-cms-core ${STATIC_CMS_CORE_VERSION}`);
} }
/** /**

View File

@ -10,7 +10,7 @@ import cleanStack from 'clean-stack';
import { buttons, colors } from '../../ui'; import { buttons, colors } from '../../ui';
import { localForage } from '../../lib/util'; import { localForage } from '../../lib/util';
const ISSUE_URL = 'https://github.com/SimpleCMS/simple-cms/issues/new?'; const ISSUE_URL = 'https://github.com/StaticJsCMS/static-cms/issues/new?';
function getIssueTemplate({ version, provider, browser, config }) { function getIssueTemplate({ version, provider, browser, config }) {
return ` return `
@ -23,7 +23,7 @@ function getIssueTemplate({ version, provider, browser, config }) {
**Screenshots** **Screenshots**
**Applicable Versions:** **Applicable Versions:**
- Simple CMS version: \`${version}\` - Static CMS version: \`${version}\`
- Git provider: \`${provider}\` - Git provider: \`${provider}\`
- Browser version: \`${browser}\` - Browser version: \`${browser}\`
@ -38,8 +38,8 @@ ${config}
function buildIssueTemplate({ config }) { function buildIssueTemplate({ config }) {
let version = ''; let version = '';
if (typeof SIMPLE_CMS_CORE_VERSION === 'string') { if (typeof STATIC_CMS_CORE_VERSION === 'string') {
version = `simple-cms@${SIMPLE_CMS_CORE_VERSION}`; version = `static-cms@${STATIC_CMS_CORE_VERSION}`;
} }
const template = getIssueTemplate({ const template = getIssueTemplate({
version, version,

View File

@ -64,7 +64,7 @@ function SettingsDropdown({ displayUrl, isTestRepo, imageUrl, onLogoutClick, t }
<React.Fragment> <React.Fragment>
{isTestRepo && ( {isTestRepo && (
<AppHeaderTestRepoIndicator <AppHeaderTestRepoIndicator
href="https://www.simplecms.github.io/simple-cms/docs/test-backend" href="https://www.staticjscms.github.io/static-cms/docs/test-backend"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >

View File

@ -38,5 +38,5 @@ const image = {
], ],
}; };
export const SimpleCmsEditorComponentImage = image; export const StaticCmsEditorComponentImage = image;
export default image; export default image;

View File

@ -1,5 +1,5 @@
import NetlifyAuthenticator from './netlify-auth'; import NetlifyAuthenticator from './netlify-auth';
import ImplicitAuthenticator from './implicit-oauth'; import ImplicitAuthenticator from './implicit-oauth';
import PkceAuthenticator from './pkce-oauth'; import PkceAuthenticator from './pkce-oauth';
export const SimpleCmsLibAuth = { NetlifyAuthenticator, ImplicitAuthenticator, PkceAuthenticator }; export const StaticCmsLibAuth = { NetlifyAuthenticator, ImplicitAuthenticator, PkceAuthenticator };
export { NetlifyAuthenticator, ImplicitAuthenticator, PkceAuthenticator }; export { NetlifyAuthenticator, ImplicitAuthenticator, PkceAuthenticator };

View File

@ -30,7 +30,7 @@ async function createCodeChallenge(codeVerifier) {
return btoa(sha).split('=')[0].replace(/\+/g, '-').replace(/\//g, '_'); return btoa(sha).split('=')[0].replace(/\+/g, '-').replace(/\//g, '_');
} }
const CODE_VERIFIER_STORAGE_KEY = 'simple-cms-pkce-verifier-code'; const CODE_VERIFIER_STORAGE_KEY = 'static-cms-pkce-verifier-code';
function createCodeVerifier() { function createCodeVerifier() {
const codeVerifier = generateVerifierCode(); const codeVerifier = generateVerifierCode();

View File

@ -2,14 +2,14 @@ import uuid from 'uuid/v4';
export function createNonce() { export function createNonce() {
const nonce = uuid(); const nonce = uuid();
window.sessionStorage.setItem('simple-cms-auth', JSON.stringify({ nonce })); window.sessionStorage.setItem('static-cms-auth', JSON.stringify({ nonce }));
return nonce; return nonce;
} }
export function validateNonce(check) { export function validateNonce(check) {
const auth = window.sessionStorage.getItem('simple-cms-auth'); const auth = window.sessionStorage.getItem('static-cms-auth');
const valid = auth && JSON.parse(auth).nonce; const valid = auth && JSON.parse(auth).nonce;
window.localStorage.removeItem('simple-cms-auth'); window.localStorage.removeItem('static-cms-auth');
return check === valid; return check === valid;
} }

View File

@ -74,7 +74,7 @@ export type FetchError = FE;
export type PointerFile = PF; export type PointerFile = PF;
export type DataFile = DF; export type DataFile = DF;
export const SimpleCmsLibUtil = { export const StaticCmsLibUtil = {
APIError, APIError,
Cursor, Cursor,
CURSOR_COMPATIBILITY_SYMBOL, CURSOR_COMPATIBILITY_SYMBOL,

View File

@ -1,7 +1,7 @@
import * as stringTemplate from './stringTemplate'; import * as stringTemplate from './stringTemplate';
import * as validations from './validations'; import * as validations from './validations';
export const SimpleCmsLibWidgets = { export const StaticCmsLibWidgets = {
stringTemplate, stringTemplate,
validations, validations,
}; };

View File

@ -84,5 +84,5 @@ async function init({ options = {}, handleInsert } = {}) {
const cloudinaryMediaLibrary = { name: 'cloudinary', init }; const cloudinaryMediaLibrary = { name: 'cloudinary', init };
export const SimpleCmsMediaLibraryCloudinary = cloudinaryMediaLibrary; export const StaticCmsMediaLibraryCloudinary = cloudinaryMediaLibrary;
export default cloudinaryMediaLibrary; export default cloudinaryMediaLibrary;

View File

@ -5,7 +5,7 @@ import { Iterable } from 'immutable';
window.UPLOADCARE_LIVE = false; window.UPLOADCARE_LIVE = false;
window.UPLOADCARE_MANUAL_START = true; window.UPLOADCARE_MANUAL_START = true;
const USER_AGENT = 'SimpleCMS-Uploadcare-MediaLibrary'; const USER_AGENT = 'StaticCms-Uploadcare-MediaLibrary';
const CDN_BASE_URL = 'https://ucarecdn.com'; const CDN_BASE_URL = 'https://ucarecdn.com';
/** /**
@ -165,7 +165,7 @@ async function init({ options = { config: {}, settings: {} }, handleInsert } = {
/** /**
* Uploadcare doesn't provide a "media library" widget for viewing and * Uploadcare doesn't provide a "media library" widget for viewing and
* selecting existing files, so we return `false` here so Simple CMS only * selecting existing files, so we return `false` here so Static CMS only
* opens the Uploadcare widget when called from an editor control. This * opens the Uploadcare widget when called from an editor control. This
* results in the "Media" button in the global nav being hidden. * results in the "Media" button in the global nav being hidden.
*/ */
@ -179,5 +179,5 @@ async function init({ options = { config: {}, settings: {} }, handleInsert } = {
*/ */
const uploadcareMediaLibrary = { name: 'uploadcare', init }; const uploadcareMediaLibrary = { name: 'uploadcare', init };
export const SimpleCmsMediaLibraryUploadcare = uploadcareMediaLibrary; export const StaticCmsMediaLibraryUploadcare = uploadcareMediaLibrary;
export default uploadcareMediaLibrary; export default uploadcareMediaLibrary;

View File

@ -353,7 +353,7 @@ export function selectInferedField(collection: Collection, fieldName: string) {
if (inferableField.showError) { if (inferableField.showError) {
consoleError( consoleError(
`The Field ${fieldName} is missing for the collection “${collection.get('name')}`, `The Field ${fieldName} is missing for the collection “${collection.get('name')}`,
`Simple CMS tries to infer the entry ${fieldName} automatically, but one couldn't be found for entries of the collection “${collection.get( `Static CMS tries to infer the entry ${fieldName} automatically, but one couldn't be found for entries of the collection “${collection.get(
'name', 'name',
)}. Please check your site configuration.`, )}. Please check your site configuration.`,
); );

View File

@ -71,8 +71,8 @@ let append: boolean;
let page: number; let page: number;
let slug: string; let slug: string;
const storageSortKey = 'simple-cms.entries.sort'; const storageSortKey = 'static-cms.entries.sort';
const viewStyleKey = 'simple-cms.entries.viewStyle'; const viewStyleKey = 'static-cms.entries.viewStyle';
type StorageSortObject = SortObject & { index: number }; type StorageSortObject = SortObject & { index: number };
type StorageSort = { [collection: string]: { [key: string]: StorageSortObject } }; type StorageSort = { [collection: string]: { [key: string]: StorageSortObject } };

View File

@ -25,7 +25,7 @@ const SimpleLogoIcon = styled(Icon)`
margin-top: -300px; margin-top: -300px;
`; `;
const SimpleCmsIcon = styled(Icon)` const StaticCmsIcon = styled(Icon)`
color: #c4c6d2; color: #c4c6d2;
position: absolute; position: absolute;
bottom: 10px; bottom: 10px;
@ -43,7 +43,7 @@ function renderPageLogo(logoUrl) {
if (logoUrl) { if (logoUrl) {
return <CustomLogoIcon url={logoUrl} />; return <CustomLogoIcon url={logoUrl} />;
} }
return <SimpleLogoIcon size="300px" type="simple-cms" />; return <SimpleLogoIcon size="300px" type="static-cms" />;
} }
const LoginButton = styled.button` const LoginButton = styled.button`
@ -96,7 +96,7 @@ function AuthenticationPage({
</LoginButton> </LoginButton>
)} )}
{siteUrl && <GoBackButton href={siteUrl} t={t} />} {siteUrl && <GoBackButton href={siteUrl} t={t} />}
{logoUrl ? <SimpleCmsIcon size="100px" type="simple-cms" /> : null} {logoUrl ? <StaticCmsIcon size="100px" type="static-cms" /> : null}
</StyledAuthenticationPage> </StyledAuthenticationPage>
); );
} }

View File

@ -32,7 +32,7 @@ import iconMarkdown from './markdown.svg';
import iconMedia from './media.svg'; import iconMedia from './media.svg';
import iconMediaAlt from './media-alt.svg'; import iconMediaAlt from './media-alt.svg';
import iconNetlify from './netlify.svg'; import iconNetlify from './netlify.svg';
import iconSimpleCms from './simple-cms-logo.svg'; import iconStaticCms from './static-cms-logo.svg';
import iconNewTab from './new-tab.svg'; import iconNewTab from './new-tab.svg';
import iconPage from './page.svg'; import iconPage from './page.svg';
import iconPages from './pages.svg'; import iconPages from './pages.svg';
@ -82,7 +82,7 @@ const images = {
media: iconMedia, media: iconMedia,
'media-alt': iconMediaAlt, 'media-alt': iconMediaAlt,
netlify: iconNetlify, netlify: iconNetlify,
'simple-cms': iconSimpleCms, 'static-cms': iconStaticCms,
'new-tab': iconNewTab, 'new-tab': iconNewTab,
page: iconPage, page: iconPage,
pages: iconPages, pages: iconPages,

View File

@ -1,943 +0,0 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="100%" viewBox="0 0 1280 640" enable-background="new 0 0 1280 640" xml:space="preserve">
<path class="no-fill" fill="none" opacity="1.000000" stroke="none"
d="
M783.000000,641.000000
C522.033875,641.000000 261.567780,641.000000 1.050843,641.000000
C1.050843,427.728333 1.050843,214.456650 1.050843,1.092481
C427.549469,1.092481 854.098938,1.092481 1280.824219,1.092481
C1280.824219,214.333221 1280.824219,427.666595 1280.824219,641.000000
C1115.123169,641.000000 949.311584,641.000000 783.000000,641.000000
M64.000557,320.196991
C64.340988,324.113739 64.163689,328.161774 65.117630,331.922913
C68.138870,343.834839 71.210541,355.758484 74.948448,367.458496
C80.925453,386.167114 90.907585,402.888519 102.921257,418.238251
C116.688789,435.828888 133.172119,450.683167 152.605713,461.849762
C160.990952,466.667877 169.872360,470.827118 178.926697,474.223969
C190.050858,478.397339 201.480072,481.897980 212.995956,484.831543
C219.408585,486.465118 226.322098,486.011566 232.910431,487.100372
C248.099548,489.610657 263.146606,487.599915 278.013733,485.260803
C287.986267,483.691742 297.577362,479.760620 307.379944,477.033173
C320.360229,473.421570 332.266968,467.345306 343.293976,459.919708
C353.585419,452.989471 363.273773,445.064819 372.679474,436.943085
C384.391174,426.830200 393.829620,414.514130 401.719666,401.352081
C407.827393,391.163300 412.524139,380.018585 416.866241,368.914825
C420.627380,359.296631 424.255096,349.315521 425.692596,339.175934
C427.604340,325.690918 428.291565,311.857422 427.733765,298.246185
C427.171173,284.517761 425.398376,270.660553 422.351318,257.270416
C420.041626,247.120499 414.914093,237.609146 411.012817,227.824661
C404.182678,210.694275 393.549133,195.915741 380.958527,182.801315
C371.531708,172.982285 360.721069,164.437668 350.126923,155.816772
C345.008759,151.651917 339.268555,147.970078 333.282501,145.216263
C323.214539,140.584625 312.567352,137.220413 302.453308,132.678497
C289.356079,126.796936 275.393951,125.459808 261.462189,124.131126
C253.702454,123.391068 245.813721,124.054878 237.984024,123.985710
C224.534637,123.866913 211.432053,126.135857 198.571503,129.829880
C192.325058,131.624084 186.106689,133.634689 180.086365,136.068619
C171.847473,139.399490 163.321548,142.431656 155.807404,147.040771
C146.244919,152.906326 137.541290,160.180847 128.521606,166.920502
C115.667244,176.525482 105.202560,188.528900 96.263199,201.629395
C83.843300,219.830582 74.272469,239.672897 69.242256,261.181366
C66.337685,273.600830 65.390160,286.515656 64.114471,299.262878
C63.454178,305.860901 63.998310,312.579437 64.000557,320.196991
M700.000549,267.709198
C701.003601,261.993408 701.442383,256.094971 703.212341,250.627457
C704.349854,247.113678 706.999023,243.754944 709.763367,241.176620
C714.504150,236.754898 720.838928,238.534729 726.591248,237.882950
C733.326843,237.119751 740.355835,245.447449 740.902527,251.138641
C741.627380,258.685516 741.869019,266.296082 741.954529,273.883362
C742.110413,287.714264 742.082520,301.549042 741.938965,315.380219
C741.903870,318.762207 742.807922,320.161072 746.434265,320.070099
C755.095093,319.852936 763.767822,319.871704 772.429871,320.063141
C775.882568,320.139465 777.121338,319.070282 777.067017,315.512878
C776.886292,303.682861 776.580811,291.828918 777.132080,280.021881
C777.566406,270.721069 775.747253,261.493286 778.716919,252.026627
C782.402710,240.277084 798.962158,232.505234 809.311035,239.192749
C811.104492,240.351700 812.786316,242.021698 813.895569,243.837006
C817.093872,249.071365 817.925720,255.027191 817.961060,261.019958
C818.067383,279.018463 817.931274,297.018646 818.110168,315.015991
C818.126709,316.681702 819.667053,319.745422 820.574280,319.773651
C831.322266,320.108551 842.084412,319.989258 853.001038,319.989258
C853.001038,297.391876 853.205383,275.405060 852.864807,253.426697
C852.773865,247.560730 851.258667,241.666763 849.976562,235.878845
C846.333313,219.432281 834.250732,210.943253 819.354736,207.404999
C810.181213,205.225998 800.282654,205.301300 790.440063,208.662613
C781.420532,211.742844 774.118896,216.502090 768.164978,222.235458
C747.071045,201.623550 724.357544,202.101212 700.253174,215.786057
C699.768738,207.124359 698.104004,206.620041 690.837158,206.937241
C683.850830,207.242172 676.840515,207.034073 669.841125,206.989441
C666.565369,206.968552 664.989624,208.452454 664.991394,211.766724
C665.009888,246.598343 664.968567,281.430145 665.142822,316.260895
C665.149109,317.511871 667.185364,319.803802 668.322876,319.834137
C678.762878,320.112610 689.213440,319.998077 700.000549,319.998077
C700.000549,302.591827 700.000549,285.631531 700.000549,267.709198
M914.003357,337.499115
C914.003357,329.017212 914.003357,320.535309 914.003357,312.361572
C919.192261,315.128754 923.545776,319.072876 928.323975,319.681274
C940.558167,321.238983 952.859192,322.985840 965.196411,318.231506
C975.435486,314.285767 983.314026,308.298981 990.075928,299.737915
C996.716797,291.330078 999.005249,281.461212 1000.631897,271.665649
C1001.669922,265.414520 1001.176270,258.643829 999.500671,251.794693
C997.329773,242.921234 994.460327,235.010117 989.268677,227.517410
C983.349426,218.974640 975.429321,213.426147 965.970154,210.092941
C960.254028,208.078705 954.148743,206.721985 948.118408,206.178497
C942.611328,205.682175 936.968079,206.655319 931.390503,207.058380
C930.907410,207.093292 930.511536,207.810196 929.998535,208.037445
C924.400696,210.517303 918.787598,212.962708 913.193787,215.410858
C912.741882,207.120819 912.617981,207.003113 904.294739,207.003098
C897.629944,207.003082 890.957092,207.203522 884.303101,206.935455
C879.548035,206.743851 877.904480,208.564453 877.929871,213.304977
C878.078308,240.962982 878.002808,268.622223 878.002686,296.281036
C878.002625,315.942139 878.006592,335.603210 877.996643,355.264313
C877.995422,357.642517 877.659180,360.054260 881.311279,360.026611
C891.777161,359.947388 902.243896,359.998718 914.003357,359.998718
C914.003357,352.574524 914.003357,345.536469 914.003357,337.499115
M492.718292,180.027328
C492.211884,180.453384 491.766235,181.001892 491.190216,181.287643
C475.116425,189.262009 469.481415,203.500595 468.115784,220.141785
C467.946014,222.210541 469.788605,224.378433 469.925446,226.549118
C470.780426,240.114548 479.437927,247.803864 490.548187,252.985992
C497.395874,256.179901 504.948181,257.914581 512.258118,260.051453
C519.605835,262.199402 527.160889,263.690216 534.403931,266.126373
C539.233459,267.750793 543.999084,270.066772 548.151184,272.986389
C550.145508,274.388702 552.294922,278.608124 551.551819,280.343140
C548.216797,288.130707 543.025635,292.321136 533.834229,291.952789
C523.411743,291.535126 512.728333,293.813110 502.689911,289.018219
C496.341949,285.986023 489.780548,283.375610 483.564789,280.101624
C480.133972,278.294525 477.620270,278.959839 475.919037,282.620483
C473.532593,287.755463 470.739777,292.704742 468.043732,297.691803
C465.481476,302.431335 466.155365,306.386658 470.658722,308.831024
C475.161316,311.274963 480.086609,312.932678 484.627991,315.313873
C494.389801,320.432251 505.304688,321.272400 515.766052,322.594666
C524.098267,323.647827 532.829590,323.715393 541.651306,321.457703
C548.943787,319.591461 556.269958,318.249695 563.151917,315.002808
C575.711609,309.077209 587.384338,294.259521 586.931274,279.181030
C586.781311,274.189484 586.983948,269.350555 585.365356,264.161224
C582.716736,255.669708 577.084290,250.667831 570.544739,245.801697
C561.703369,239.222687 550.859680,237.773712 540.888794,234.209961
C532.666260,231.271103 523.756165,230.315735 515.328125,227.870163
C510.104248,226.354355 505.285492,222.200073 504.966888,217.990692
C504.588837,212.995987 507.714233,208.096329 512.872009,205.579178
C522.631409,200.816238 533.038269,200.951141 543.004456,203.296753
C552.191040,205.458878 560.864441,209.800949 570.394104,213.422241
C570.772705,212.550812 571.494324,210.998413 572.128601,209.411087
C574.449036,203.604324 576.521484,197.686661 579.101685,191.998718
C581.916626,185.793289 581.694275,185.488098 576.076477,182.435684
C566.150696,177.042603 555.096069,174.488907 544.403992,173.447083
C527.257507,171.776321 509.656555,171.599075 492.718292,180.027328
M697.659180,338.845398
C696.822083,339.762909 695.792114,340.567200 695.177307,341.615143
C687.777954,354.226837 680.458618,366.885468 673.079468,379.509094
C668.092773,388.040009 663.044312,396.534882 658.222412,404.708801
C654.663574,399.262360 651.184570,394.332306 648.120483,389.156647
C643.481812,381.321289 639.211914,373.268433 634.637512,365.393829
C629.812988,357.088623 624.912659,348.822968 619.808533,340.688690
C618.818787,339.111389 616.783203,337.248779 615.153992,337.173950
C607.232483,336.810181 599.285095,337.009583 591.270874,337.009583
C591.270874,375.904846 591.270874,414.283905 591.270874,452.704163
C600.936951,452.704163 610.329590,452.704163 620.244873,452.704163
C620.244873,432.481262 620.244873,412.549652 620.244873,391.910706
C630.442505,408.673584 640.177917,424.676636 650.028442,440.868927
C654.986694,440.868927 660.297363,440.868927 665.167297,440.868927
C674.998047,424.542725 684.653503,408.507568 694.999939,391.324951
C694.999939,394.261932 694.999939,395.851807 694.999878,397.441650
C694.999634,414.431152 694.935791,431.421295 695.107300,448.409058
C695.122742,449.939087 696.609131,452.742645 697.494629,452.776062
C706.240967,453.106110 715.004700,452.975586 723.678406,452.975586
C723.678406,413.991150 723.678406,375.611664 723.678406,337.000031
C716.547424,337.000031 709.735840,336.933044 702.927429,337.048401
C701.281433,337.076263 699.645569,337.706635 697.659180,338.845398
M1178.050659,297.488983
C1173.984375,292.795288 1170.044556,287.978821 1165.722900,283.533295
C1165.033325,282.823975 1162.024536,283.165619 1161.118530,284.062531
C1154.391235,290.720947 1145.625854,292.262512 1136.968994,293.843140
C1134.858032,294.228546 1132.397461,292.648987 1130.087891,292.007690
C1126.405273,290.985168 1122.440430,290.539673 1119.089600,288.862000
C1113.614014,286.120483 1110.280762,281.181061 1107.597290,274.998688
C1109.763916,274.998688 1111.377197,274.998688 1112.990479,274.998688
C1136.989868,274.998718 1160.989380,275.007416 1184.988770,274.984406
C1187.206787,274.982300 1190.141235,275.717285 1189.969971,271.960388
C1189.569946,263.183472 1190.212646,254.528198 1187.398804,245.693314
C1184.952515,238.012634 1181.594116,231.257217 1176.623901,225.313248
C1168.269531,215.322083 1157.004761,209.510071 1144.493164,207.230072
C1134.472046,205.403885 1124.345093,205.641190 1114.017578,208.653763
C1104.461182,211.441376 1096.045410,215.508530 1089.030762,222.107315
C1078.324707,232.178665 1072.473022,244.821854 1072.029175,259.670410
C1071.764893,268.505524 1071.559692,277.382202 1075.880005,285.560852
C1078.242798,290.033447 1080.077637,294.890656 1083.040283,298.920197
C1090.993652,309.737366 1102.174194,317.097137 1114.895142,319.496155
C1126.885376,321.757416 1139.690308,321.565094 1151.902588,320.260132
C1164.151367,318.951294 1174.627441,312.332367 1183.253052,302.853516
C1181.646729,301.149475 1180.145020,299.556458 1178.050659,297.488983
M790.578918,358.009674
C800.390686,360.744324 811.247681,359.832397 819.950928,366.714691
C820.924988,367.484985 824.819336,366.366882 825.747192,365.016602
C827.694031,362.183380 828.645142,358.641205 829.860901,355.337097
C831.159363,351.808167 832.291626,348.218079 833.454590,344.778412
C830.571960,343.246582 828.534973,341.889923 826.306641,341.028778
C817.923523,337.789215 809.393555,335.678772 800.296936,334.721802
C783.756348,332.981598 768.337097,334.832123 754.398987,344.295227
C746.641296,349.562195 743.130066,357.846375 741.175171,366.490662
C739.724670,372.904663 740.724548,379.800201 744.187073,385.434723
C746.983765,389.985718 750.759766,394.497070 755.176514,397.377441
C765.461365,404.084656 777.730103,405.767883 789.345276,409.086517
C794.527466,410.567108 799.546021,412.717987 804.488953,414.903656
C807.758362,416.349304 808.389832,419.111969 807.187500,422.506531
C805.506958,427.251129 801.804077,429.801117 796.268982,430.045135
C793.463867,430.168793 790.679810,430.768738 787.780457,431.167908
C785.563599,430.805237 783.106506,430.083710 780.642700,430.060394
C773.389893,429.991699 766.858826,427.874390 760.524170,424.408539
C756.529236,422.222748 752.051514,420.919434 748.165649,419.369965
C745.600464,425.009247 743.674927,429.570099 741.474243,433.994141
C738.962280,439.043884 739.416626,444.075531 743.657532,445.706696
C752.674805,449.175079 761.763855,453.040619 771.184753,454.737244
C784.902832,457.207825 798.895630,457.037628 812.292114,451.976868
C815.368042,450.814850 818.365295,449.288513 821.146423,447.530518
C829.611267,442.179718 835.287903,435.061798 837.252808,424.750519
C838.777710,416.748596 837.828186,409.478180 834.014221,402.650604
C826.993408,390.082367 813.503296,388.205017 801.562195,384.112946
C793.978699,381.514191 785.972656,380.175568 778.261353,377.912964
C773.309204,376.459930 771.025391,372.786713 772.035095,367.574432
C772.804810,363.601013 775.318787,361.482574 779.428101,360.805115
C782.913879,360.230469 786.292419,359.004730 790.578918,358.009674
M575.987793,355.653534
C572.364380,351.788025 569.298645,347.085052 565.005066,344.225952
C555.140198,337.657104 543.773438,334.587585 532.007690,334.111725
C517.667969,333.531830 503.936249,335.889557 491.398529,343.847748
C477.978455,352.365997 468.313263,363.774078 465.248657,379.285736
C462.921051,391.066986 462.829803,403.051178 466.677460,415.144562
C470.352295,426.694794 477.301544,435.575714 486.052429,442.744537
C496.730988,451.492523 509.973907,455.179474 523.763611,455.942322
C535.877075,456.612396 547.677795,454.543518 558.420715,448.853455
C563.916138,445.942780 568.746704,441.699554 573.642090,437.765411
C576.173523,435.731049 577.042725,432.685699 574.377747,430.152069
C569.923645,425.917542 565.272827,421.858795 560.411743,418.105713
C559.232910,417.195618 556.003052,416.953308 555.258545,417.784790
C549.404358,424.323181 542.165649,428.247314 533.671143,429.619965
C522.909302,431.358948 513.309265,428.136444 505.072723,421.220367
C494.848663,412.635254 492.880554,400.884308 494.188110,388.559265
C494.787628,382.908417 496.986694,377.538635 501.085938,372.822784
C507.257599,365.722748 514.224670,361.380676 523.780518,360.483948
C534.578430,359.470581 543.965210,361.561951 552.085144,369.082306
C557.913696,374.480530 556.241394,374.948303 562.433044,369.716705
C567.258057,365.639740 571.494873,360.866577 575.987793,355.653534
M1018.002808,307.472992
C1018.002808,309.970795 1018.220215,312.492126 1017.953308,314.961090
C1017.523621,318.934753 1019.022339,320.214294 1023.018433,320.084198
C1031.501953,319.807953 1040.010132,319.762878 1048.489502,320.097076
C1052.928833,320.272064 1054.121582,318.847504 1054.097534,314.465179
C1053.922363,282.494263 1054.003296,250.521896 1054.003296,218.549988
C1054.003296,203.230118 1053.942627,187.909836 1054.044067,172.590637
C1054.070557,168.575485 1052.984985,166.686478 1048.424316,166.893066
C1040.115356,167.269455 1031.766479,167.251602 1023.455322,166.900009
C1018.923279,166.708267 1017.901794,168.313202 1017.915466,172.599854
C1018.057495,217.226868 1018.002808,261.854492 1018.002808,307.472992
M604.002502,236.500000
C604.002502,262.645538 603.992493,288.791046 604.020996,314.936554
C604.023376,317.127075 603.219055,319.983276 606.987793,319.990448
C617.580750,320.010529 628.173706,319.997437 638.999573,319.997437
C638.999573,283.169495 638.980591,246.890823 639.035217,210.612259
C639.039612,207.676453 637.719177,206.936295 635.060547,206.966812
C626.568542,207.064270 618.072937,207.105545 609.582336,206.957809
C605.571960,206.888046 603.879028,208.465317 603.958862,212.519440
C604.109741,220.176956 604.002502,227.839523 604.002502,236.500000
M608.599670,160.998871
C607.743591,161.822220 606.885071,162.643066 606.031921,163.469391
C600.113281,169.202011 598.977539,180.200821 603.324890,186.911346
C608.245728,194.507111 615.457458,195.975693 623.874146,196.178894
C630.932251,196.349274 640.672180,190.137878 642.751099,181.790466
C645.296326,171.570679 639.072632,159.382675 629.410095,158.257416
C622.822510,157.490250 615.536560,156.155121 608.599670,160.998871
z"/>
<path class="no-fill" fill="#e6ebef" opacity="1.000000" stroke="none"
d="
M63.999424,319.720276
C63.998310,312.579437 63.454178,305.860901 64.114471,299.262878
C65.390160,286.515656 66.337685,273.600830 69.242256,261.181366
C74.272469,239.672897 83.843300,219.830582 96.263199,201.629395
C105.202560,188.528900 115.667244,176.525482 128.521606,166.920502
C137.541290,160.180847 146.244919,152.906326 155.807404,147.040771
C163.321548,142.431656 171.847473,139.399490 180.086365,136.068619
C186.106689,133.634689 192.325058,131.624084 198.571503,129.829880
C211.432053,126.135857 224.534637,123.866913 237.984024,123.985710
C245.813721,124.054878 253.702454,123.391068 261.462189,124.131126
C275.393951,125.459808 289.356079,126.796936 302.453308,132.678497
C312.567352,137.220413 323.214539,140.584625 333.282501,145.216263
C339.268555,147.970078 345.008759,151.651917 350.126923,155.816772
C360.721069,164.437668 371.531708,172.982285 380.958527,182.801315
C393.549133,195.915741 404.182678,210.694275 411.012817,227.824661
C414.914093,237.609146 420.041626,247.120499 422.351318,257.270416
C425.398376,270.660553 427.171173,284.517761 427.733765,298.246185
C428.291565,311.857422 427.604340,325.690918 425.692596,339.175934
C424.255096,349.315521 420.627380,359.296631 416.866241,368.914825
C412.524139,380.018585 407.827393,391.163300 401.719666,401.352081
C393.829620,414.514130 384.391174,426.830200 372.679474,436.943085
C363.273773,445.064819 353.585419,452.989471 343.293976,459.919708
C332.266968,467.345306 320.360229,473.421570 307.379944,477.033173
C297.577362,479.760620 287.986267,483.691742 278.013733,485.260803
C263.146606,487.599915 248.099548,489.610657 232.910431,487.100372
C226.322098,486.011566 219.408585,486.465118 212.995956,484.831543
C201.480072,481.897980 190.050858,478.397339 178.926697,474.223969
C169.872360,470.827118 160.990952,466.667877 152.605713,461.849762
C133.172119,450.683167 116.688789,435.828888 102.921257,418.238251
C90.907585,402.888519 80.925453,386.167114 74.948448,367.458496
C71.210541,355.758484 68.138870,343.834839 65.117630,331.922913
C64.163689,328.161774 64.340988,324.113739 63.999424,319.720276
M373.803070,264.161163
C374.540649,265.063049 375.228424,266.011658 376.024048,266.859039
C380.390961,271.510010 384.857544,272.103058 390.835663,268.866821
C394.899231,266.667023 396.925262,261.473236 395.901093,256.367157
C394.867981,251.216583 390.827637,249.390701 386.713470,247.395813
C384.988373,246.559357 383.019623,245.259781 382.211853,243.645309
C373.359100,225.950943 362.050842,210.180756 347.264618,196.897125
C329.417358,180.863541 309.211853,169.471756 285.802979,163.674896
C269.441223,159.623138 253.142990,157.333633 236.155579,158.958618
C218.780930,160.620636 202.009598,164.340561 186.356079,171.733170
C156.188004,185.980545 132.665710,207.724762 117.004974,237.363831
C109.242599,252.054688 103.114296,267.461334 101.922722,284.330902
C101.233727,294.085205 100.680733,303.851501 100.283485,313.621216
C100.228317,314.977875 101.109901,317.276947 102.089310,317.619293
C107.100960,319.371124 112.057945,315.515747 111.856613,310.140381
C111.170479,291.821472 114.529312,274.226746 120.947701,257.130157
C121.985123,254.366760 123.305466,252.783432 126.666801,252.820740
C141.827621,252.989029 156.992355,252.988235 172.153336,252.826797
C175.953064,252.786362 177.157364,254.259933 177.012848,257.839386
C176.831528,262.330566 177.195847,266.847931 176.927277,271.330200
C176.685104,275.371918 177.953918,277.137756 182.244629,276.855804
C186.889908,276.550598 191.576233,276.924713 196.234528,276.742981
C199.317886,276.622650 200.359665,277.839966 200.266113,280.834900
C200.110123,285.828522 200.031189,290.842133 200.307068,295.825928
C200.520233,299.676239 199.355209,301.133148 195.285645,300.993530
C186.797852,300.702301 178.288971,301.060059 169.797302,300.832397
C166.129456,300.734070 164.823700,301.806183 164.905304,305.612335
C165.133789,316.271362 165.160690,326.943359 164.853775,337.598358
C164.786545,339.932068 163.566772,342.792297 161.906250,344.417175
C156.572708,349.636261 150.784134,354.390259 145.171524,359.324127
C141.680984,362.392609 138.262344,365.547882 134.683929,368.510193
C129.761963,372.584778 128.176666,372.238251 125.403580,366.452881
C123.826569,363.162781 122.046677,359.832428 121.310089,356.320526
C120.721245,353.513000 121.383606,350.374695 121.843933,347.438629
C122.169853,345.359833 123.700989,343.347687 123.617043,341.351074
C123.405602,336.322662 118.303612,331.066437 113.547096,330.297241
C108.687645,329.511383 103.682655,332.154724 101.120216,336.860352
C98.948997,340.847534 100.459381,346.477936 103.841942,350.554291
C106.635559,353.920898 109.290100,357.701569 110.843727,361.745422
C116.749146,377.116455 125.232292,390.950378 135.985001,403.218323
C151.515823,420.937714 170.117142,434.541290 192.116150,443.590637
C210.865234,451.303101 230.447021,454.663086 250.364731,454.521057
C262.617218,454.433716 275.009308,451.750275 287.051575,448.983002
C311.931061,443.265778 333.063507,430.160370 351.341492,412.755798
C367.760681,397.121155 379.816040,378.262604 387.345184,356.819946
C390.510986,347.803833 393.681488,338.467926 394.591095,329.059021
C395.844391,316.095062 394.830933,302.922302 395.032654,289.842743
C395.163361,281.369476 394.579041,281.154846 386.128876,283.122772
C384.672028,283.462036 383.572754,285.236115 382.247131,286.268982
C381.018219,287.226532 379.723419,288.831482 378.430237,288.858887
C368.104126,289.077667 357.769897,288.886139 347.441803,289.050476
C343.847870,289.107635 342.829773,287.597534 342.903564,284.263031
C343.058380,277.268311 342.808624,270.263733 343.009216,263.271362
C343.104492,259.950256 341.906586,258.992371 338.675476,259.032013
C326.180634,259.185364 313.670227,258.761353 301.191132,259.230377
C294.441406,259.484070 289.702911,258.295258 286.452271,251.529907
C284.608643,247.692810 284.765503,245.634430 287.565704,242.934265
C293.202148,237.499130 298.843689,232.049026 304.122314,226.275177
C305.717865,224.529953 306.867950,221.722794 306.946014,219.359879
C307.259491,209.872818 307.060089,200.369171 307.074646,190.871689
C307.084381,184.515427 307.703156,184.014328 313.075165,186.990326
C329.363647,196.013855 344.031219,207.146301 355.090576,222.277634
C364.102905,234.608261 374.254211,246.651154 373.803070,264.161163
z"/>
<path class="no-fill" fill="#a3b5c4" opacity="1.000000" stroke="none"
d="
M700.000549,268.190216
C700.000549,285.631531 700.000549,302.591827 700.000549,319.998077
C689.213440,319.998077 678.762878,320.112610 668.322876,319.834137
C667.185364,319.803802 665.149109,317.511871 665.142822,316.260895
C664.968567,281.430145 665.009888,246.598343 664.991394,211.766724
C664.989624,208.452454 666.565369,206.968552 669.841125,206.989441
C676.840515,207.034073 683.850830,207.242172 690.837158,206.937241
C698.104004,206.620041 699.768738,207.124359 700.253174,215.786057
C724.357544,202.101212 747.071045,201.623550 768.164978,222.235458
C774.118896,216.502090 781.420532,211.742844 790.440063,208.662613
C800.282654,205.301300 810.181213,205.225998 819.354736,207.404999
C834.250732,210.943253 846.333313,219.432281 849.976562,235.878845
C851.258667,241.666763 852.773865,247.560730 852.864807,253.426697
C853.205383,275.405060 853.001038,297.391876 853.001038,319.989258
C842.084412,319.989258 831.322266,320.108551 820.574280,319.773651
C819.667053,319.745422 818.126709,316.681702 818.110168,315.015991
C817.931274,297.018646 818.067383,279.018463 817.961060,261.019958
C817.925720,255.027191 817.093872,249.071365 813.895569,243.837006
C812.786316,242.021698 811.104492,240.351700 809.311035,239.192749
C798.962158,232.505234 782.402710,240.277084 778.716919,252.026627
C775.747253,261.493286 777.566406,270.721069 777.132080,280.021881
C776.580811,291.828918 776.886292,303.682861 777.067017,315.512878
C777.121338,319.070282 775.882568,320.139465 772.429871,320.063141
C763.767822,319.871704 755.095093,319.852936 746.434265,320.070099
C742.807922,320.161072 741.903870,318.762207 741.938965,315.380219
C742.082520,301.549042 742.110413,287.714264 741.954529,273.883362
C741.869019,266.296082 741.627380,258.685516 740.902527,251.138641
C740.355835,245.447449 733.326843,237.119751 726.591248,237.882950
C720.838928,238.534729 714.504150,236.754898 709.763367,241.176620
C706.999023,243.754944 704.349854,247.113678 703.212341,250.627457
C701.442383,256.094971 701.003601,261.993408 700.000549,268.190216
z"/>
<path class="no-fill" fill="#a3b5c4" opacity="1.000000" stroke="none"
d="
M914.003357,337.998749
C914.003357,345.536469 914.003357,352.574524 914.003357,359.998718
C902.243896,359.998718 891.777161,359.947388 881.311279,360.026611
C877.659180,360.054260 877.995422,357.642517 877.996643,355.264313
C878.006592,335.603210 878.002625,315.942139 878.002686,296.281036
C878.002808,268.622223 878.078308,240.962982 877.929871,213.304977
C877.904480,208.564453 879.548035,206.743851 884.303101,206.935455
C890.957092,207.203522 897.629944,207.003082 904.294739,207.003098
C912.617981,207.003113 912.741882,207.120819 913.193787,215.410858
C918.787598,212.962708 924.400696,210.517303 929.998535,208.037445
C930.511536,207.810196 930.907410,207.093292 931.390503,207.058380
C936.968079,206.655319 942.611328,205.682175 948.118408,206.178497
C954.148743,206.721985 960.254028,208.078705 965.970154,210.092941
C975.429321,213.426147 983.349426,218.974640 989.268677,227.517410
C994.460327,235.010117 997.329773,242.921234 999.500671,251.794693
C1001.176270,258.643829 1001.669922,265.414520 1000.631897,271.665649
C999.005249,281.461212 996.716797,291.330078 990.075928,299.737915
C983.314026,308.298981 975.435486,314.285767 965.196411,318.231506
C952.859192,322.985840 940.558167,321.238983 928.323975,319.681274
C923.545776,319.072876 919.192261,315.128754 914.003357,312.361572
C914.003357,320.535309 914.003357,329.017212 914.003357,337.998749
M913.001160,259.949951
C913.663269,264.413422 913.934204,268.977936 915.056396,273.322571
C919.551941,290.726929 932.385742,293.948395 946.534058,291.484619
C951.012024,290.704803 956.060425,287.278290 958.790222,283.554596
C965.463379,274.451721 967.400940,264.486725 963.340759,252.921021
C960.051270,243.550812 953.568604,238.419678 945.375244,236.369949
C937.125977,234.306259 928.753723,236.094330 921.619324,242.549271
C916.433289,247.241470 915.774292,253.529709 913.001160,259.949951
z"/>
<path class="no-fill" fill="#a3b5c4" opacity="1.000000" stroke="none"
d="
M493.107117,179.990189
C509.656555,171.599075 527.257507,171.776321 544.403992,173.447083
C555.096069,174.488907 566.150696,177.042603 576.076477,182.435684
C581.694275,185.488098 581.916626,185.793289 579.101685,191.998718
C576.521484,197.686661 574.449036,203.604324 572.128601,209.411087
C571.494324,210.998413 570.772705,212.550812 570.394104,213.422241
C560.864441,209.800949 552.191040,205.458878 543.004456,203.296753
C533.038269,200.951141 522.631409,200.816238 512.872009,205.579178
C507.714233,208.096329 504.588837,212.995987 504.966888,217.990692
C505.285492,222.200073 510.104248,226.354355 515.328125,227.870163
C523.756165,230.315735 532.666260,231.271103 540.888794,234.209961
C550.859680,237.773712 561.703369,239.222687 570.544739,245.801697
C577.084290,250.667831 582.716736,255.669708 585.365356,264.161224
C586.983948,269.350555 586.781311,274.189484 586.931274,279.181030
C587.384338,294.259521 575.711609,309.077209 563.151917,315.002808
C556.269958,318.249695 548.943787,319.591461 541.651306,321.457703
C532.829590,323.715393 524.098267,323.647827 515.766052,322.594666
C505.304688,321.272400 494.389801,320.432251 484.627991,315.313873
C480.086609,312.932678 475.161316,311.274963 470.658722,308.831024
C466.155365,306.386658 465.481476,302.431335 468.043732,297.691803
C470.739777,292.704742 473.532593,287.755463 475.919037,282.620483
C477.620270,278.959839 480.133972,278.294525 483.564789,280.101624
C489.780548,283.375610 496.341949,285.986023 502.689911,289.018219
C512.728333,293.813110 523.411743,291.535126 533.834229,291.952789
C543.025635,292.321136 548.216797,288.130707 551.551819,280.343140
C552.294922,278.608124 550.145508,274.388702 548.151184,272.986389
C543.999084,270.066772 539.233459,267.750793 534.403931,266.126373
C527.160889,263.690216 519.605835,262.199402 512.258118,260.051453
C504.948181,257.914581 497.395874,256.179901 490.548187,252.985992
C479.437927,247.803864 470.780426,240.114548 469.925446,226.549118
C469.788605,224.378433 467.946014,222.210541 468.115784,220.141785
C469.481415,203.500595 475.116425,189.262009 491.190216,181.287643
C491.766235,181.001892 492.211884,180.453384 493.107117,179.990189
z"/>
<path class="no-fill" fill="#68C4E2" opacity="1.000000" stroke="none"
d="
M697.832153,338.452667
C699.645569,337.706635 701.281433,337.076263 702.927429,337.048401
C709.735840,336.933044 716.547424,337.000031 723.678406,337.000031
C723.678406,375.611664 723.678406,413.991150 723.678406,452.975586
C715.004700,452.975586 706.240967,453.106110 697.494629,452.776062
C696.609131,452.742645 695.122742,449.939087 695.107300,448.409058
C694.935791,431.421295 694.999634,414.431152 694.999878,397.441650
C694.999939,395.851807 694.999939,394.261932 694.999939,391.324951
C684.653503,408.507568 674.998047,424.542725 665.167297,440.868927
C660.297363,440.868927 654.986694,440.868927 650.028442,440.868927
C640.177917,424.676636 630.442505,408.673584 620.244873,391.910706
C620.244873,412.549652 620.244873,432.481262 620.244873,452.704163
C610.329590,452.704163 600.936951,452.704163 591.270874,452.704163
C591.270874,414.283905 591.270874,375.904846 591.270874,337.009583
C599.285095,337.009583 607.232483,336.810181 615.153992,337.173950
C616.783203,337.248779 618.818787,339.111389 619.808533,340.688690
C624.912659,348.822968 629.812988,357.088623 634.637512,365.393829
C639.211914,373.268433 643.481812,381.321289 648.120483,389.156647
C651.184570,394.332306 654.663574,399.262360 658.222412,404.708801
C663.044312,396.534882 668.092773,388.040009 673.079468,379.509094
C680.458618,366.885468 687.777954,354.226837 695.177307,341.615143
C695.792114,340.567200 696.822083,339.762909 697.832153,338.452667
z"/>
<path class="no-fill" fill="#a3b5c4" opacity="1.000000" stroke="none"
d="
M1178.347046,297.726196
C1180.145020,299.556458 1181.646729,301.149475 1183.253052,302.853516
C1174.627441,312.332367 1164.151367,318.951294 1151.902588,320.260132
C1139.690308,321.565094 1126.885376,321.757416 1114.895142,319.496155
C1102.174194,317.097137 1090.993652,309.737366 1083.040283,298.920197
C1080.077637,294.890656 1078.242798,290.033447 1075.880005,285.560852
C1071.559692,277.382202 1071.764893,268.505524 1072.029175,259.670410
C1072.473022,244.821854 1078.324707,232.178665 1089.030762,222.107315
C1096.045410,215.508530 1104.461182,211.441376 1114.017578,208.653763
C1124.345093,205.641190 1134.472046,205.403885 1144.493164,207.230072
C1157.004761,209.510071 1168.269531,215.322083 1176.623901,225.313248
C1181.594116,231.257217 1184.952515,238.012634 1187.398804,245.693314
C1190.212646,254.528198 1189.569946,263.183472 1189.969971,271.960388
C1190.141235,275.717285 1187.206787,274.982300 1184.988770,274.984406
C1160.989380,275.007416 1136.989868,274.998718 1112.990479,274.998688
C1111.377197,274.998688 1109.763916,274.998688 1107.597290,274.998688
C1110.280762,281.181061 1113.614014,286.120483 1119.089600,288.862000
C1122.440430,290.539673 1126.405273,290.985168 1130.087891,292.007690
C1132.397461,292.648987 1134.858032,294.228546 1136.968994,293.843140
C1145.625854,292.262512 1154.391235,290.720947 1161.118530,284.062531
C1162.024536,283.165619 1165.033325,282.823975 1165.722900,283.533295
C1170.044556,287.978821 1173.984375,292.795288 1178.347046,297.726196
M1127.098877,233.448639
C1126.430298,233.964386 1125.806396,234.852570 1125.086182,234.939240
C1116.218018,236.006531 1108.822510,243.463074 1107.482422,252.909882
C1123.794922,252.909882 1140.094849,252.909882 1156.189941,252.909882
C1152.296509,238.479507 1141.843994,233.241669 1127.098877,233.448639
z"/>
<path class="no-fill" fill="#68C4E2" opacity="1.000000" stroke="none"
d="
M790.148682,358.038391
C786.292419,359.004730 782.913879,360.230469 779.428101,360.805115
C775.318787,361.482574 772.804810,363.601013 772.035095,367.574432
C771.025391,372.786713 773.309204,376.459930 778.261353,377.912964
C785.972656,380.175568 793.978699,381.514191 801.562195,384.112946
C813.503296,388.205017 826.993408,390.082367 834.014221,402.650604
C837.828186,409.478180 838.777710,416.748596 837.252808,424.750519
C835.287903,435.061798 829.611267,442.179718 821.146423,447.530518
C818.365295,449.288513 815.368042,450.814850 812.292114,451.976868
C798.895630,457.037628 784.902832,457.207825 771.184753,454.737244
C761.763855,453.040619 752.674805,449.175079 743.657532,445.706696
C739.416626,444.075531 738.962280,439.043884 741.474243,433.994141
C743.674927,429.570099 745.600464,425.009247 748.165649,419.369965
C752.051514,420.919434 756.529236,422.222748 760.524170,424.408539
C766.858826,427.874390 773.389893,429.991699 780.642700,430.060394
C783.106506,430.083710 785.563599,430.805237 787.780457,431.167908
C790.679810,430.768738 793.463867,430.168793 796.268982,430.045135
C801.804077,429.801117 805.506958,427.251129 807.187500,422.506531
C808.389832,419.111969 807.758362,416.349304 804.488953,414.903656
C799.546021,412.717987 794.527466,410.567108 789.345276,409.086517
C777.730103,405.767883 765.461365,404.084656 755.176514,397.377441
C750.759766,394.497070 746.983765,389.985718 744.187073,385.434723
C740.724548,379.800201 739.724670,372.904663 741.175171,366.490662
C743.130066,357.846375 746.641296,349.562195 754.398987,344.295227
C768.337097,334.832123 783.756348,332.981598 800.296936,334.721802
C809.393555,335.678772 817.923523,337.789215 826.306641,341.028778
C828.534973,341.889923 830.571960,343.246582 833.454590,344.778412
C832.291626,348.218079 831.159363,351.808167 829.860901,355.337097
C828.645142,358.641205 827.694031,362.183380 825.747192,365.016602
C824.819336,366.366882 820.924988,367.484985 819.950928,366.714691
C811.247681,359.832397 800.390686,360.744324 790.148682,358.038391
z"/>
<path class="no-fill" fill="#68C4E2" opacity="1.000000" stroke="none"
d="
M575.990479,356.028198
C571.494873,360.866577 567.258057,365.639740 562.433044,369.716705
C556.241394,374.948303 557.913696,374.480530 552.085144,369.082306
C543.965210,361.561951 534.578430,359.470581 523.780518,360.483948
C514.224670,361.380676 507.257599,365.722748 501.085938,372.822784
C496.986694,377.538635 494.787628,382.908417 494.188110,388.559265
C492.880554,400.884308 494.848663,412.635254 505.072723,421.220367
C513.309265,428.136444 522.909302,431.358948 533.671143,429.619965
C542.165649,428.247314 549.404358,424.323181 555.258545,417.784790
C556.003052,416.953308 559.232910,417.195618 560.411743,418.105713
C565.272827,421.858795 569.923645,425.917542 574.377747,430.152069
C577.042725,432.685699 576.173523,435.731049 573.642090,437.765411
C568.746704,441.699554 563.916138,445.942780 558.420715,448.853455
C547.677795,454.543518 535.877075,456.612396 523.763611,455.942322
C509.973907,455.179474 496.730988,451.492523 486.052429,442.744537
C477.301544,435.575714 470.352295,426.694794 466.677460,415.144562
C462.829803,403.051178 462.921051,391.066986 465.248657,379.285736
C468.313263,363.774078 477.978455,352.365997 491.398529,343.847748
C503.936249,335.889557 517.667969,333.531830 532.007690,334.111725
C543.773438,334.587585 555.140198,337.657104 565.005066,344.225952
C569.298645,347.085052 572.364380,351.788025 575.990479,356.028198
z"/>
<path class="no-fill" fill="#a3b5c4" opacity="1.000000" stroke="none"
d="
M1018.002808,306.977478
C1018.002808,261.854492 1018.057495,217.226868 1017.915466,172.599854
C1017.901794,168.313202 1018.923279,166.708267 1023.455322,166.900009
C1031.766479,167.251602 1040.115356,167.269455 1048.424316,166.893066
C1052.984985,166.686478 1054.070557,168.575485 1054.044067,172.590637
C1053.942627,187.909836 1054.003296,203.230118 1054.003296,218.549988
C1054.003296,250.521896 1053.922363,282.494263 1054.097534,314.465179
C1054.121582,318.847504 1052.928833,320.272064 1048.489502,320.097076
C1040.010132,319.762878 1031.501953,319.807953 1023.018433,320.084198
C1019.022339,320.214294 1017.523621,318.934753 1017.953308,314.961090
C1018.220215,312.492126 1018.002808,309.970795 1018.002808,306.977478
z"/>
<path class="no-fill" fill="#a3b5c4" opacity="1.000000" stroke="none"
d="
M604.002502,236.000000
C604.002502,227.839523 604.109741,220.176956 603.958862,212.519440
C603.879028,208.465317 605.571960,206.888046 609.582336,206.957809
C618.072937,207.105545 626.568542,207.064270 635.060547,206.966812
C637.719177,206.936295 639.039612,207.676453 639.035217,210.612259
C638.980591,246.890823 638.999573,283.169495 638.999573,319.997437
C628.173706,319.997437 617.580750,320.010529 606.987793,319.990448
C603.219055,319.983276 604.023376,317.127075 604.020996,314.936554
C603.992493,288.791046 604.002502,262.645538 604.002502,236.000000
z"/>
<path class="no-fill" fill="#a3b5c4" opacity="1.000000" stroke="none"
d="
M609.012939,160.974777
C615.536560,156.155121 622.822510,157.490250 629.410095,158.257416
C639.072632,159.382675 645.296326,171.570679 642.751099,181.790466
C640.672180,190.137878 630.932251,196.349274 623.874146,196.178894
C615.457458,195.975693 608.245728,194.507111 603.324890,186.911346
C598.977539,180.200821 600.113281,169.202011 606.031921,163.469391
C606.885071,162.643066 607.743591,161.822220 609.012939,160.974777
z"/>
<path class="no-fill" fill="#6EC5E3" opacity="1.000000" stroke="none"
d="
M373.601624,263.811279
C374.254211,246.651154 364.102905,234.608261 355.090576,222.277634
C344.031219,207.146301 329.363647,196.013855 313.075165,186.990326
C307.703156,184.014328 307.084381,184.515427 307.074646,190.871689
C307.060089,200.369171 307.259491,209.872818 306.946014,219.359879
C306.867950,221.722794 305.717865,224.529953 304.122314,226.275177
C298.843689,232.049026 293.202148,237.499130 287.565704,242.934265
C284.765503,245.634430 284.608643,247.692810 286.452271,251.529907
C289.702911,258.295258 294.441406,259.484070 301.191132,259.230377
C313.670227,258.761353 326.180634,259.185364 338.675476,259.032013
C341.906586,258.992371 343.104492,259.950256 343.009216,263.271362
C342.808624,270.263733 343.058380,277.268311 342.903564,284.263031
C342.829773,287.597534 343.847870,289.107635 347.441803,289.050476
C357.769897,288.886139 368.104126,289.077667 378.430237,288.858887
C379.723419,288.831482 381.018219,287.226532 382.247131,286.268982
C383.572754,285.236115 384.672028,283.462036 386.128876,283.122772
C394.579041,281.154846 395.163361,281.369476 395.032654,289.842743
C394.830933,302.922302 395.844391,316.095062 394.591095,329.059021
C393.681488,338.467926 390.510986,347.803833 387.345184,356.819946
C379.816040,378.262604 367.760681,397.121155 351.341492,412.755798
C333.063507,430.160370 311.931061,443.265778 287.051575,448.983002
C275.009308,451.750275 262.617218,454.433716 250.364731,454.521057
C230.447021,454.663086 210.865234,451.303101 192.116150,443.590637
C170.117142,434.541290 151.515823,420.937714 135.985001,403.218323
C125.232292,390.950378 116.749146,377.116455 110.843727,361.745422
C109.290100,357.701569 106.635559,353.920898 103.841942,350.554291
C100.459381,346.477936 98.948997,340.847534 101.120216,336.860352
C103.682655,332.154724 108.687645,329.511383 113.547096,330.297241
C118.303612,331.066437 123.405602,336.322662 123.617043,341.351074
C123.700989,343.347687 122.169853,345.359833 121.843933,347.438629
C121.383606,350.374695 120.721245,353.513000 121.310089,356.320526
C122.046677,359.832428 123.826569,363.162781 125.403580,366.452881
C128.176666,372.238251 129.761963,372.584778 134.683929,368.510193
C138.262344,365.547882 141.680984,362.392609 145.171524,359.324127
C150.784134,354.390259 156.572708,349.636261 161.906250,344.417175
C163.566772,342.792297 164.786545,339.932068 164.853775,337.598358
C165.160690,326.943359 165.133789,316.271362 164.905304,305.612335
C164.823700,301.806183 166.129456,300.734070 169.797302,300.832397
C178.288971,301.060059 186.797852,300.702301 195.285645,300.993530
C199.355209,301.133148 200.520233,299.676239 200.307068,295.825928
C200.031189,290.842133 200.110123,285.828522 200.266113,280.834900
C200.359665,277.839966 199.317886,276.622650 196.234528,276.742981
C191.576233,276.924713 186.889908,276.550598 182.244629,276.855804
C177.953918,277.137756 176.685104,275.371918 176.927277,271.330200
C177.195847,266.847931 176.831528,262.330566 177.012848,257.839386
C177.157364,254.259933 175.953064,252.786362 172.153336,252.826797
C156.992355,252.988235 141.827621,252.989029 126.666801,252.820740
C123.305466,252.783432 121.985123,254.366760 120.947701,257.130157
C114.529312,274.226746 111.170479,291.821472 111.856613,310.140381
C112.057945,315.515747 107.100960,319.371124 102.089310,317.619293
C101.109901,317.276947 100.228317,314.977875 100.283485,313.621216
C100.680733,303.851501 101.233727,294.085205 101.922722,284.330902
C103.114296,267.461334 109.242599,252.054688 117.004974,237.363831
C132.665710,207.724762 156.188004,185.980545 186.356079,171.733170
C202.009598,164.340561 218.780930,160.620636 236.155579,158.958618
C253.142990,157.333633 269.441223,159.623138 285.802979,163.674896
C309.211853,169.471756 329.417358,180.863541 347.264618,196.897125
C362.050842,210.180756 373.359100,225.950943 382.211853,243.645309
C383.019623,245.259781 384.988373,246.559357 386.713470,247.395813
C390.827637,249.390701 394.867981,251.216583 395.901093,256.367157
C396.925262,261.473236 394.899231,266.667023 390.835663,268.866821
C384.857544,272.103058 380.390961,271.510010 376.024048,266.859039
C375.228424,266.011658 374.540649,265.063049 373.601624,263.811279
M204.086639,435.512756
C210.453171,437.272766 216.721054,439.865051 223.205109,440.633606
C241.173065,442.763275 259.108276,443.404602 277.096741,439.390533
C299.234955,434.450439 318.735718,424.687653 336.084747,410.285278
C341.277313,405.974670 341.251678,405.251465 335.997772,400.669525
C327.742279,393.469971 319.598236,386.142761 311.359863,378.923370
C299.603424,368.621155 303.878510,368.741730 292.292084,380.095947
C290.493469,381.858551 287.747345,383.446564 285.327118,383.629486
C278.870087,384.117462 272.339905,384.036926 265.862000,383.715179
C261.209229,383.484070 259.314392,385.128204 260.083649,389.741547
C260.852203,394.350555 258.554810,395.284668 254.371918,395.226929
C239.055893,395.015259 223.735229,395.141571 208.416321,395.131744
C199.800415,395.126221 200.907990,395.653503 200.871155,387.668762
C200.838928,380.685120 199.650024,374.442566 193.411514,369.777344
C189.055634,366.520020 185.543671,362.133881 181.656097,358.250580
C174.633652,351.235870 174.635300,351.236969 167.058334,357.271271
C166.670197,357.580383 166.196823,357.785858 165.822388,358.108368
C157.016434,365.692963 148.251022,373.325104 139.400055,380.856720
C136.672028,383.178131 136.418625,385.342316 138.898270,387.993378
C145.022675,394.541077 150.767075,401.474335 157.205826,407.691681
C170.398773,420.431030 186.091644,429.187988 204.086639,435.512756
M189.504349,347.996643
C192.728287,351.207245 195.952240,354.417877 199.176178,357.628479
C199.736893,357.378723 200.297623,357.128937 200.858337,356.879181
C200.858337,351.698547 201.058548,346.507599 200.793228,341.340607
C200.591003,337.401855 202.027390,336.099487 205.952591,336.137970
C222.281311,336.298004 238.613434,336.293732 254.942215,336.135315
C258.872528,336.097168 260.250702,337.461151 260.152832,341.366730
C259.944214,349.693329 260.243500,358.033051 260.014801,366.358612
C259.904877,370.360382 261.802704,371.810822 265.339996,371.876404
C270.004333,371.962921 274.713318,372.312592 279.319855,371.800446
C281.919434,371.511444 284.852325,370.264465 286.767761,368.504883
C293.020569,362.760864 299.027283,356.723663 304.785461,350.482574
C306.416779,348.714447 307.595947,345.905884 307.734680,343.502441
C308.127777,336.692963 307.676941,329.838257 307.950867,323.017120
C308.116058,318.903748 306.403870,317.816895 302.636169,317.999298
C297.815186,318.232727 292.966705,317.887024 288.144165,318.103912
C284.826172,318.253113 283.845947,316.994293 283.884430,313.768097
C284.031433,301.438782 284.118164,289.102600 283.826141,276.778473
C283.751923,273.646393 282.685364,270.291229 281.208313,267.496490
C278.969788,263.261078 276.119263,259.315491 273.214020,255.485458
C272.268311,254.238708 270.354767,253.045303 268.855835,253.009811
C259.362885,252.785034 249.861603,252.942444 240.364136,252.856552
C237.775986,252.833160 236.782440,253.856018 236.834427,256.405945
C236.932922,261.236359 236.679398,266.079132 236.914368,270.900085
C237.140869,275.547455 235.096466,277.174957 230.641739,276.931244
C226.155090,276.685760 221.637863,277.005707 217.150085,276.770996
C213.812454,276.596436 212.798996,277.935577 212.853012,281.131012
C212.999420,289.793610 212.794708,298.462250 212.953629,307.124390
C213.020248,310.755676 211.759567,312.195282 208.020218,312.115814
C199.192505,311.928070 190.357193,312.128113 181.526932,312.015228
C178.433701,311.975677 177.091797,312.948364 176.932510,316.274200
C176.059525,334.499359 175.987686,334.495911 189.504349,347.996643
M245.856842,170.442535
C236.495071,171.583374 227.142944,172.814087 217.766617,173.819061
C214.212967,174.199966 212.860947,175.938431 212.880417,179.365646
C212.944733,190.696289 212.997147,202.028778 212.847656,213.357834
C212.800400,216.939484 214.298065,218.038589 217.638611,217.924133
C222.465439,217.758774 227.304749,217.973434 232.133255,217.834946
C235.503876,217.738266 237.034760,219.014236 236.902878,222.514954
C236.733627,227.007736 237.052094,231.522736 236.794937,236.007202
C236.579971,239.756134 237.529114,241.415176 241.729218,241.261536
C250.382736,240.945038 259.065186,241.382462 267.714600,241.013977
C270.287140,240.904388 273.329865,239.740692 275.223877,238.027954
C281.272308,232.558395 287.059143,226.765442 292.558380,220.742554
C294.300293,218.834808 295.665710,215.843109 295.754883,213.296738
C296.110352,203.144745 295.790283,192.971069 295.954407,182.809204
C296.003235,179.785172 294.922882,178.334427 292.098022,177.404373
C277.351166,172.549149 262.175415,170.543961 245.856842,170.442535
M321.927368,318.081635
C320.939636,319.483459 319.173950,320.845184 319.099274,322.294067
C318.782715,328.436829 318.615570,334.631378 319.066162,340.757568
C319.550476,347.342529 318.086273,352.573547 312.693268,356.931824
C308.592346,360.245941 309.188843,362.111847 313.326263,365.623718
C324.207428,374.859924 335.143982,384.042938 345.710388,393.630798
C349.033508,396.646118 351.120758,396.275574 353.278473,393.070587
C358.266815,385.661163 363.458313,378.355225 367.931335,370.638641
C379.698975,350.337891 384.757355,328.303650 384.072845,304.874390
C383.977051,301.594086 383.148590,300.010559 379.532593,300.063782
C368.881195,300.220673 358.224945,300.200928 347.572876,300.067169
C344.191284,300.024719 342.631592,301.127838 342.848450,304.666779
C343.041504,307.817780 342.727325,311.000671 342.935242,314.149750
C343.143250,317.300171 341.774170,318.188782 338.833923,318.100464
C333.511902,317.940643 328.181580,318.056427 321.927368,318.081635
M132.906082,241.161758
C145.896606,241.163300 158.888931,241.044754 171.876511,241.240906
C175.682800,241.298401 177.366638,240.366486 177.076172,236.246521
C176.749008,231.606277 177.086380,226.923126 176.968918,222.262802
C176.887695,219.040878 178.276764,217.775879 181.462677,217.861099
C186.455429,217.994614 191.457886,217.781769 196.449448,217.935837
C199.423615,218.027634 200.836990,216.781525 200.842880,213.901978
C200.863678,203.742905 200.876633,193.583618 200.828979,183.424728
C200.816513,180.765610 199.823181,179.139816 196.794922,180.504532
C191.505920,182.888107 186.009399,184.904495 180.973343,187.738464
C166.201538,196.051071 153.793030,207.337753 142.665985,219.972870
C138.312943,224.915909 134.791306,230.625610 131.222748,236.198563
C130.420212,237.451874 127.890282,240.153168 132.906082,241.161758
M295.129028,279.610809
C295.130676,286.942169 295.216156,294.274872 295.099670,301.604340
C295.038605,305.446198 296.691376,307.002655 300.504852,306.950378
C309.167542,306.831665 317.834381,306.824524 326.496674,306.957581
C329.925903,307.010254 331.285492,305.691223 331.240570,302.252716
C331.120941,293.090118 331.107971,283.923401 331.253265,274.761505
C331.302826,271.636139 330.044708,270.728455 327.106201,270.773834
C319.110321,270.897369 311.111206,270.808838 303.113373,270.808533
C295.126740,270.808228 295.126740,270.810425 295.129028,279.610809
M188.979218,248.499146
C188.979797,252.817657 188.723175,257.160980 189.135895,261.439728
C189.261566,262.742523 191.202042,264.880341 192.361618,264.914215
C201.986938,265.195343 211.628006,265.202637 221.252731,264.911163
C222.481720,264.873962 224.641403,262.672241 224.678787,261.422638
C224.961761,251.964005 224.855377,242.492508 224.794373,233.025528
C224.776672,230.281296 223.555786,228.902054 220.466309,228.959534
C211.548996,229.125427 202.624847,229.104446 193.706741,228.955215
C190.326981,228.898666 188.815552,230.044388 188.940964,233.549881
C189.107132,238.194611 188.980408,242.849808 188.979218,248.499146
M234.490936,384.018036
C237.656876,384.017639 240.830460,383.880219 243.986511,384.056763
C246.941986,384.222076 248.185394,383.231781 248.138062,380.105896
C247.994247,370.610229 248.010529,361.110321 248.115372,351.613770
C248.146988,348.750519 246.987030,347.858429 244.250565,347.889343
C235.087189,347.992920 225.920303,348.025940 216.758224,347.875336
C213.549057,347.822601 212.827789,349.244904 212.860855,352.098480
C212.968979,361.428406 212.992065,370.761749 212.851135,380.090790
C212.803970,383.212860 214.045898,384.150696 216.999863,384.065582
C222.494049,383.907349 227.995987,384.018646 234.490936,384.018036
z"/>
<path class="no-fill" fill="#e6ebef" opacity="1.000000" stroke="none"
d="
M203.726532,435.348328
C186.091644,429.187988 170.398773,420.431030 157.205826,407.691681
C150.767075,401.474335 145.022675,394.541077 138.898270,387.993378
C136.418625,385.342316 136.672028,383.178131 139.400055,380.856720
C148.251022,373.325104 157.016434,365.692963 165.822388,358.108368
C166.196823,357.785858 166.670197,357.580383 167.058334,357.271271
C174.635300,351.236969 174.633652,351.235870 181.656097,358.250580
C185.543671,362.133881 189.055634,366.520020 193.411514,369.777344
C199.650024,374.442566 200.838928,380.685120 200.871155,387.668762
C200.907990,395.653503 199.800415,395.126221 208.416321,395.131744
C223.735229,395.141571 239.055893,395.015259 254.371918,395.226929
C258.554810,395.284668 260.852203,394.350555 260.083649,389.741547
C259.314392,385.128204 261.209229,383.484070 265.862000,383.715179
C272.339905,384.036926 278.870087,384.117462 285.327118,383.629486
C287.747345,383.446564 290.493469,381.858551 292.292084,380.095947
C303.878510,368.741730 299.603424,368.621155 311.359863,378.923370
C319.598236,386.142761 327.742279,393.469971 335.997772,400.669525
C341.251678,405.251465 341.277313,405.974670 336.084747,410.285278
C318.735718,424.687653 299.234955,434.450439 277.096741,439.390533
C259.108276,443.404602 241.173065,442.763275 223.205109,440.633606
C216.721054,439.865051 210.453171,437.272766 203.726532,435.348328
z"/>
<path class="no-fill" fill="#e6ebef" opacity="1.000000" stroke="none"
d="
M189.254333,347.746460
C175.987686,334.495911 176.059525,334.499359 176.932510,316.274200
C177.091797,312.948364 178.433701,311.975677 181.526932,312.015228
C190.357193,312.128113 199.192505,311.928070 208.020218,312.115814
C211.759567,312.195282 213.020248,310.755676 212.953629,307.124390
C212.794708,298.462250 212.999420,289.793610 212.853012,281.131012
C212.798996,277.935577 213.812454,276.596436 217.150085,276.770996
C221.637863,277.005707 226.155090,276.685760 230.641739,276.931244
C235.096466,277.174957 237.140869,275.547455 236.914368,270.900085
C236.679398,266.079132 236.932922,261.236359 236.834427,256.405945
C236.782440,253.856018 237.775986,252.833160 240.364136,252.856552
C249.861603,252.942444 259.362885,252.785034 268.855835,253.009811
C270.354767,253.045303 272.268311,254.238708 273.214020,255.485458
C276.119263,259.315491 278.969788,263.261078 281.208313,267.496490
C282.685364,270.291229 283.751923,273.646393 283.826141,276.778473
C284.118164,289.102600 284.031433,301.438782 283.884430,313.768097
C283.845947,316.994293 284.826172,318.253113 288.144165,318.103912
C292.966705,317.887024 297.815186,318.232727 302.636169,317.999298
C306.403870,317.816895 308.116058,318.903748 307.950867,323.017120
C307.676941,329.838257 308.127777,336.692963 307.734680,343.502441
C307.595947,345.905884 306.416779,348.714447 304.785461,350.482574
C299.027283,356.723663 293.020569,362.760864 286.767761,368.504883
C284.852325,370.264465 281.919434,371.511444 279.319855,371.800446
C274.713318,372.312592 270.004333,371.962921 265.339996,371.876404
C261.802704,371.810822 259.904877,370.360382 260.014801,366.358612
C260.243500,358.033051 259.944214,349.693329 260.152832,341.366730
C260.250702,337.461151 258.872528,336.097168 254.942215,336.135315
C238.613434,336.293732 222.281311,336.298004 205.952591,336.137970
C202.027390,336.099487 200.591003,337.401855 200.793228,341.340607
C201.058548,346.507599 200.858337,351.698547 200.858337,356.879181
C200.297623,357.128937 199.736893,357.378723 199.176178,357.628479
C195.952240,354.417877 192.728287,351.207245 189.254333,347.746460
z"/>
<path class="no-fill" fill="#e6ebef" opacity="1.000000" stroke="none"
d="
M246.290344,170.326050
C262.175415,170.543961 277.351166,172.549149 292.098022,177.404373
C294.922882,178.334427 296.003235,179.785172 295.954407,182.809204
C295.790283,192.971069 296.110352,203.144745 295.754883,213.296738
C295.665710,215.843109 294.300293,218.834808 292.558380,220.742554
C287.059143,226.765442 281.272308,232.558395 275.223877,238.027954
C273.329865,239.740692 270.287140,240.904388 267.714600,241.013977
C259.065186,241.382462 250.382736,240.945038 241.729218,241.261536
C237.529114,241.415176 236.579971,239.756134 236.794937,236.007202
C237.052094,231.522736 236.733627,227.007736 236.902878,222.514954
C237.034760,219.014236 235.503876,217.738266 232.133255,217.834946
C227.304749,217.973434 222.465439,217.758774 217.638611,217.924133
C214.298065,218.038589 212.800400,216.939484 212.847656,213.357834
C212.997147,202.028778 212.944733,190.696289 212.880417,179.365646
C212.860947,175.938431 214.212967,174.199966 217.766617,173.819061
C227.142944,172.814087 236.495071,171.583374 246.290344,170.326050
z"/>
<path class="no-fill" fill="#e6ebef" opacity="1.000000" stroke="none"
d="
M322.391052,318.069397
C328.181580,318.056427 333.511902,317.940643 338.833923,318.100464
C341.774170,318.188782 343.143250,317.300171 342.935242,314.149750
C342.727325,311.000671 343.041504,307.817780 342.848450,304.666779
C342.631592,301.127838 344.191284,300.024719 347.572876,300.067169
C358.224945,300.200928 368.881195,300.220673 379.532593,300.063782
C383.148590,300.010559 383.977051,301.594086 384.072845,304.874390
C384.757355,328.303650 379.698975,350.337891 367.931335,370.638641
C363.458313,378.355225 358.266815,385.661163 353.278473,393.070587
C351.120758,396.275574 349.033508,396.646118 345.710388,393.630798
C335.143982,384.042938 324.207428,374.859924 313.326263,365.623718
C309.188843,362.111847 308.592346,360.245941 312.693268,356.931824
C318.086273,352.573547 319.550476,347.342529 319.066162,340.757568
C318.615570,334.631378 318.782715,328.436829 319.099274,322.294067
C319.173950,320.845184 320.939636,319.483459 322.391052,318.069397
z"/>
<path class="no-fill" fill="#e6ebef" opacity="1.000000" stroke="none"
d="
M132.459503,241.148285
C127.890282,240.153168 130.420212,237.451874 131.222748,236.198563
C134.791306,230.625610 138.312943,224.915909 142.665985,219.972870
C153.793030,207.337753 166.201538,196.051071 180.973343,187.738464
C186.009399,184.904495 191.505920,182.888107 196.794922,180.504532
C199.823181,179.139816 200.816513,180.765610 200.828979,183.424728
C200.876633,193.583618 200.863678,203.742905 200.842880,213.901978
C200.836990,216.781525 199.423615,218.027634 196.449448,217.935837
C191.457886,217.781769 186.455429,217.994614 181.462677,217.861099
C178.276764,217.775879 176.887695,219.040878 176.968918,222.262802
C177.086380,226.923126 176.749008,231.606277 177.076172,236.246521
C177.366638,240.366486 175.682800,241.298401 171.876511,241.240906
C158.888931,241.044754 145.896606,241.163300 132.459503,241.148285
z"/>
<path class="no-fill" fill="#e6ebef" opacity="1.000000" stroke="none"
d="
M295.128662,279.128052
C295.126740,270.810425 295.126740,270.808228 303.113373,270.808533
C311.111206,270.808838 319.110321,270.897369 327.106201,270.773834
C330.044708,270.728455 331.302826,271.636139 331.253265,274.761505
C331.107971,283.923401 331.120941,293.090118 331.240570,302.252716
C331.285492,305.691223 329.925903,307.010254 326.496674,306.957581
C317.834381,306.824524 309.167542,306.831665 300.504852,306.950378
C296.691376,307.002655 295.038605,305.446198 295.099670,301.604340
C295.216156,294.274872 295.130676,286.942169 295.128662,279.128052
z"/>
<path class="no-fill" fill="#e6ebef" opacity="1.000000" stroke="none"
d="
M188.979385,247.999817
C188.980408,242.849808 189.107132,238.194611 188.940964,233.549881
C188.815552,230.044388 190.326981,228.898666 193.706741,228.955215
C202.624847,229.104446 211.548996,229.125427 220.466309,228.959534
C223.555786,228.902054 224.776672,230.281296 224.794373,233.025528
C224.855377,242.492508 224.961761,251.964005 224.678787,261.422638
C224.641403,262.672241 222.481720,264.873962 221.252731,264.911163
C211.628006,265.202637 201.986938,265.195343 192.361618,264.914215
C191.202042,264.880341 189.261566,262.742523 189.135895,261.439728
C188.723175,257.160980 188.979797,252.817657 188.979385,247.999817
z"/>
<path class="no-fill" fill="#e6ebef" opacity="1.000000" stroke="none"
d="
M233.992828,384.017883
C227.995987,384.018646 222.494049,383.907349 216.999863,384.065582
C214.045898,384.150696 212.803970,383.212860 212.851135,380.090790
C212.992065,370.761749 212.968979,361.428406 212.860855,352.098480
C212.827789,349.244904 213.549057,347.822601 216.758224,347.875336
C225.920303,348.025940 235.087189,347.992920 244.250565,347.889343
C246.987030,347.858429 248.146988,348.750519 248.115372,351.613770
C248.010529,361.110321 247.994247,370.610229 248.138062,380.105896
C248.185394,383.231781 246.941986,384.222076 243.986511,384.056763
C240.830460,383.880219 237.656876,384.017639 233.992828,384.017883
z"/>
</svg>

Before

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,995 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="100%" viewBox="0 0 1280 640" enable-background="new 0 0 1280 640" xml:space="preserve">
<path class="no-fill" fill="none" opacity="1.000000" stroke="none"
d="
M783.000000,641.000000
C522.033875,641.000000 261.567780,641.000000 1.050843,641.000000
C1.050843,427.728333 1.050843,214.456650 1.050843,1.092481
C427.549469,1.092481 854.098938,1.092481 1280.824219,1.092481
C1280.824219,214.333221 1280.824219,427.666595 1280.824219,641.000000
C1115.123169,641.000000 949.311584,641.000000 783.000000,641.000000
M167.485123,140.998108
C152.329453,147.700104 139.128983,157.422043 126.590767,168.028687
C116.481079,176.580917 107.793411,186.570709 100.004242,197.262222
C85.694534,216.903946 75.327057,238.455933 70.081841,262.250488
C68.205719,270.761383 66.482559,279.455566 66.145454,288.122711
C65.570129,302.914490 64.655029,317.957428 66.672409,332.508087
C68.531563,345.917480 74.138252,358.795380 77.949402,371.949371
C81.754852,385.083740 89.176323,396.389252 96.392693,407.685608
C103.655174,419.054169 112.337166,429.500641 122.778961,438.140961
C132.785294,446.420929 142.906265,454.701569 153.771606,461.758270
C161.836838,466.996368 170.952942,470.860291 180.000198,474.280029
C190.989990,478.433990 202.285751,481.923035 213.671463,484.828522
C220.082153,486.464447 226.981689,486.073761 233.589005,487.072449
C249.075256,489.413147 264.357178,487.584259 279.562469,484.981415
C285.976227,483.883484 292.266449,481.900085 298.500885,479.959625
C306.555847,477.452454 314.680359,475.014648 322.432281,471.736694
C328.595734,469.130463 334.105804,465.021606 340.151367,462.085205
C352.351593,456.159454 362.313995,447.248901 372.157410,438.279358
C381.824799,429.470215 389.920959,419.321014 397.565430,408.572968
C404.582367,398.707245 410.132721,388.259460 414.814606,377.365112
C418.826904,368.028748 421.724396,358.118256 424.158295,348.226318
C426.427979,339.001648 428.352325,329.508057 428.777374,320.058563
C429.348846,307.354767 428.864685,294.536163 427.823303,281.849792
C427.076324,272.749359 425.399597,263.574127 422.852966,254.805374
C418.168976,238.677246 411.955780,222.994354 402.395996,209.082657
C395.006927,198.329865 387.167419,187.736511 378.362671,178.141830
C365.162262,163.757111 349.724396,151.866730 331.920624,143.547440
C320.680145,138.295029 309.365997,132.877670 297.560303,129.233841
C280.149902,123.860130 262.051788,122.000023 243.756104,122.991013
C235.691360,123.427856 227.486328,123.001205 219.588638,124.371231
C209.026443,126.203468 198.561508,128.955856 188.322586,132.166962
C181.399002,134.338303 174.936737,137.980591 167.485123,140.998108
M588.000854,275.527588
C588.470947,269.078613 587.082581,263.069641 583.921143,257.417480
C578.941101,248.514008 570.934082,242.966827 561.858337,239.587006
C551.286987,235.650284 540.317566,232.476944 529.262634,230.260956
C522.822632,228.970016 516.920837,227.201736 511.234009,224.041794
C505.534332,220.874710 504.070007,214.132782 508.270813,209.178177
C513.577026,202.919907 520.974243,201.255127 528.410767,201.213486
C534.762268,201.177933 541.093628,203.404480 547.489624,203.877670
C554.741760,204.414185 561.024353,207.487778 566.748657,211.198135
C571.240906,214.109848 571.808105,212.283157 573.098389,208.703751
C575.379395,202.375687 577.827271,196.088501 580.601257,189.963547
C582.804077,185.099792 582.892395,184.744690 577.844971,182.550110
C573.797913,180.790466 569.874329,178.625580 565.679688,177.353638
C558.794373,175.265778 551.789612,172.573914 544.735779,172.240433
C528.430420,171.469513 512.011536,170.976379 496.440857,177.917358
C487.796967,181.770569 480.246643,187.108170 475.819519,195.212646
C472.373993,201.520096 470.727905,208.965134 469.218536,216.102615
C468.578278,219.130356 470.636566,222.636673 470.944489,225.973831
C471.980652,237.202454 478.552704,244.590332 487.696991,249.933990
C495.561554,254.529800 503.889832,257.875763 513.137451,259.230347
C520.827393,260.356781 528.394958,262.711884 535.815613,265.138000
C540.357971,266.623077 544.889038,268.770264 548.710022,271.589386
C550.855347,273.172180 553.331726,277.485077 552.578552,279.262970
C549.454102,286.638275 544.707581,291.310364 534.922668,290.938019
C524.502258,290.541504 514.014709,292.390778 503.700928,288.208069
C497.129425,285.543030 490.249908,283.795319 484.575043,279.258331
C481.500427,276.800171 478.573273,277.949280 476.920074,281.534302
C474.549225,286.675537 471.240784,291.423462 469.251984,296.686707
C468.112793,299.701477 465.233276,303.984406 469.474884,306.645996
C474.204224,309.613586 479.466431,311.800751 484.655548,313.942780
C488.164978,315.391388 491.905396,316.364624 495.619141,317.216370
C503.096130,318.931183 510.581085,321.391418 518.145081,321.735718
C526.356934,322.109497 534.607849,322.611816 543.059509,320.396271
C550.034912,318.567749 557.043640,317.409698 563.589294,314.051422
C578.978088,306.156097 587.657349,294.079529 588.000854,275.527588
M696.000305,441.431122
C696.280396,445.252808 696.560486,449.074463 696.848206,452.999634
C705.390991,452.999634 713.048584,452.885834 720.700012,453.053192
C723.957947,453.124420 725.111755,451.975342 725.053284,448.709167
C724.895264,439.880585 724.999878,431.047333 724.999939,422.215912
C725.000061,395.388428 724.882812,368.559967 725.109741,341.734375
C725.149841,336.994293 723.716858,335.609222 719.140381,335.911102
C713.499512,336.283203 707.808838,335.850311 702.154175,336.096405
C700.564941,336.165588 698.513123,336.995209 697.579041,338.186218
C695.992859,340.208679 695.260071,342.874359 693.930359,345.129150
C690.400452,351.114929 686.733948,357.020111 683.139099,362.967804
C679.739929,368.591797 676.318481,374.202972 672.986633,379.866791
C668.257690,387.905548 663.601990,395.987427 658.513550,404.741425
C655.381348,399.407440 652.672058,394.814240 649.982727,390.209412
C645.542114,382.605865 641.184082,374.953003 636.662170,367.398254
C631.848633,359.356506 626.762939,351.476044 622.033630,343.386292
C619.274841,338.667267 616.587097,334.796417 610.000183,335.865082
C605.616577,336.576233 601.001953,336.278046 596.531311,335.921661
C592.076294,335.566528 590.876221,337.190399 590.907288,341.564209
C591.094299,367.890472 591.000244,394.218719 591.000305,420.546326
C591.000305,429.877625 590.884399,439.211823 591.118286,448.537262
C591.155945,450.038422 592.706604,452.751038 593.637390,452.785950
C602.374634,453.113800 611.129150,452.980591 620.181335,452.980591
C620.181335,432.068787 620.181335,411.870605 620.181335,391.220276
C622.650879,394.703552 625.027832,397.594269 626.901367,400.780945
C634.063843,412.963043 640.954224,425.306458 648.229004,437.419861
C649.505859,439.545929 651.432251,441.138275 654.937317,441.244873
C661.930969,441.457672 666.755981,440.582794 670.194763,433.133759
C674.858215,423.031982 681.281494,413.734589 687.064148,404.161102
C689.675842,399.837463 692.563293,395.680420 695.997070,390.418884
C695.997070,407.940155 695.997070,424.193878 696.000305,441.431122
M792.999878,252.560181
C792.798584,244.730682 790.993469,237.259460 787.981323,230.056213
C785.148071,223.280777 780.631165,217.936340 774.407898,214.031769
C763.999512,207.501312 752.314941,205.255402 740.381958,205.198578
C732.836365,205.162659 725.259033,206.019333 717.654114,207.677628
C707.546326,209.881653 698.457581,213.445953 689.690674,219.468826
C693.342529,227.096298 696.779785,234.600174 700.550293,241.932648
C701.547974,243.872879 703.118652,244.561127 705.837402,242.909592
C710.996033,239.775909 716.502258,236.421005 722.278870,235.305313
C729.018188,234.003708 736.218506,234.692459 743.187317,235.081741
C750.969604,235.516434 757.726318,243.497620 757.810120,252.000000
C752.336609,252.000000 746.862244,252.016968 741.387939,251.996552
C729.017151,251.950424 716.742554,251.479584 704.910461,256.833282
C696.736755,260.531677 690.386353,265.875183 688.254883,274.199524
C685.921936,283.310516 685.205444,292.922241 689.989441,301.934509
C694.853394,311.097412 702.732483,316.889069 712.426147,318.718323
C721.241699,320.381866 730.522278,320.135529 739.566956,319.825745
C745.134827,319.635040 750.535645,317.526825 754.930359,313.605682
C756.372742,312.318695 758.034058,311.277039 760.196777,309.678650
C760.196777,313.246552 760.196777,315.995300 760.196777,319.000000
C769.656128,319.000000 778.798218,318.825989 787.928223,319.081451
C791.848022,319.191132 793.124573,318.054779 793.086670,314.019501
C792.897217,293.863983 793.000000,273.705688 792.999878,252.560181
M1046.551025,316.048645
C1047.831421,315.434387 1049.099121,314.792145 1050.394165,314.210327
C1059.250854,310.230896 1065.500610,303.509552 1070.260986,295.254120
C1072.388550,291.564362 1070.295654,289.659180 1067.210449,287.951721
C1062.379761,285.278290 1057.595459,282.496582 1052.961548,279.498047
C1048.113647,276.361023 1044.405273,276.114838 1042.305908,279.227448
C1035.458618,289.379486 1025.353760,293.762543 1013.902893,290.780396
C1010.265442,289.833099 1006.783020,287.527374 1003.755798,285.168121
C998.357483,280.961029 995.894592,275.084015 994.528748,268.319214
C992.803162,259.773285 996.428223,244.389465 1005.751953,239.669769
C1008.222839,238.419022 1010.544128,236.242340 1013.106934,235.935883
C1018.301819,235.314667 1024.356079,234.048935 1028.704956,236.024017
C1035.184326,238.966690 1040.494507,244.483963 1046.974487,249.417694
C1052.616943,246.206375 1059.053589,241.589417 1066.201172,238.784027
C1071.676880,236.634918 1071.855103,233.759644 1069.843628,229.790024
C1068.438110,227.016327 1066.043091,224.733246 1064.030151,222.280106
C1056.477905,213.075745 1046.088745,208.220032 1034.949829,206.287491
C1024.342285,204.447144 1013.473145,204.445419 1002.616760,207.716599
C995.051086,209.996262 987.931396,212.646393 981.560242,217.161316
C968.211548,226.620941 960.529236,239.698441 959.139709,255.881668
C957.983032,269.354370 959.889343,282.200500 967.795166,294.132965
C978.148560,309.759735 992.491150,318.269867 1010.547485,319.743103
C1022.310181,320.702789 1034.517456,321.704590 1046.551025,316.048645
M804.464111,334.000153
C802.965515,333.981384 801.434692,334.156738 799.973450,333.913513
C787.066406,331.765137 774.828369,333.583282 762.796753,338.853973
C751.740051,343.697601 744.540161,351.638824 742.519897,363.267914
C740.822815,373.036865 741.047913,382.947540 748.536316,391.117950
C757.873718,401.305908 770.932312,403.149811 783.120667,407.004578
C790.264221,409.263855 797.543823,411.196228 804.474121,413.990265
C809.193115,415.892761 809.622559,424.367157 805.276245,426.796356
C799.796265,429.859161 793.524597,430.989838 787.377747,430.802948
C782.094482,430.642273 776.747437,429.371368 771.630188,427.893311
C766.798767,426.497803 762.220398,424.216095 757.549622,422.278534
C754.632202,421.068268 751.749939,419.773193 748.489929,418.359131
C748.133728,420.319946 748.177673,421.537262 747.695374,422.487671
C745.225586,427.355530 742.184875,431.992889 740.299988,437.066101
C739.647400,438.822418 741.152649,442.209290 742.739197,443.759521
C744.736877,445.711487 747.826538,446.547668 750.448120,447.859192
C761.569458,453.422913 773.802917,454.333435 785.806763,455.807800
C790.166321,456.343231 794.788940,454.199982 799.306335,454.120209
C805.345581,454.013611 810.783691,452.425812 816.288879,450.099426
C827.710022,445.273102 834.913574,436.539001 837.684631,425.046478
C839.369019,418.060669 838.969971,410.146881 834.914734,403.431641
C832.971619,400.213806 830.819336,396.711060 827.862793,394.591003
C817.633484,387.255615 805.513794,384.716919 793.486755,381.873260
C787.127747,380.369751 780.973267,377.816742 774.924011,375.268433
C772.080627,374.070679 770.781860,366.358246 772.511292,364.197937
C777.424255,358.060760 785.227112,359.722198 791.551575,357.419800
C794.154114,356.472412 797.832214,358.252411 800.961670,359.030975
C806.139099,360.318970 811.309814,361.667236 816.402039,363.251526
C819.390442,364.181274 822.221375,365.616730 824.403870,366.525299
C827.263306,360.332886 829.878113,355.432190 831.745850,350.261658
C832.525452,348.103210 832.681274,343.951324 831.472961,343.130066
C823.672485,337.828247 814.492676,335.920166 804.464111,334.000153
M480.524170,436.042999
C491.791809,450.022217 508.078308,453.189972 524.372314,455.791107
C528.825073,456.501923 533.705627,454.791779 538.350403,453.969940
C543.125610,453.125061 547.873901,452.098236 552.596375,450.990875
C562.003906,448.784821 568.895874,442.685303 575.500916,436.103180
C577.560913,434.050385 577.293945,432.563965 575.291260,430.757324
C570.705750,426.620880 565.945496,422.627563 561.775391,418.098114
C558.704285,414.762360 556.325073,415.921875 554.267456,418.467712
C547.934998,426.302734 538.910950,429.017029 529.812073,429.622986
C524.213440,429.995819 518.116699,427.251831 512.686218,424.889893
C500.984863,419.800568 495.795105,410.015167 495.030884,397.643433
C494.825958,394.325470 494.432220,390.857544 495.140594,387.685211
C496.053070,383.598816 497.496246,379.456116 499.587128,375.845062
C503.598267,368.917725 509.455353,364.596741 517.267944,361.448273
C525.322449,358.202332 532.985596,358.657959 540.325623,360.599670
C545.604614,361.996277 549.829224,367.101868 554.797607,370.099823
C556.540527,371.151550 559.922241,371.922729 561.139343,370.984619
C566.120605,367.145233 570.447327,362.470947 575.235596,358.361023
C577.655823,356.283630 577.226685,354.251709 575.634766,352.396637
C566.942017,342.267151 555.349243,336.652588 542.705505,334.261078
C531.668335,332.173462 520.449585,332.510742 509.130951,335.702026
C498.175751,338.790771 488.948853,343.937866 480.952240,351.634033
C473.666687,358.645966 468.155609,367.421478 466.339630,376.988068
C463.204559,393.503784 463.150543,410.340576 472.099915,425.654755
C474.198761,429.246307 477.327484,432.236023 480.524170,436.042999
M889.969299,305.820374
C888.049561,301.091583 885.816650,296.459808 884.311890,291.602509
C883.163635,287.896027 882.324097,286.827911 878.717957,289.553741
C876.299194,291.382141 872.950439,292.582031 869.907532,292.861359
C862.932007,293.501770 857.055176,287.527557 857.014038,280.330353
C856.955994,270.167114 856.998962,260.003326 856.998779,249.839767
C856.998657,245.589661 856.998718,241.339554 856.998718,237.000305
C865.014526,237.000305 872.341980,236.882507 879.662659,237.054733
C882.867920,237.130127 884.160278,236.123077 884.056946,232.785156
C883.861084,226.459808 883.816650,220.116776 884.069458,213.795502
C884.218079,210.080276 882.991699,208.799484 879.237488,208.927612
C871.960205,209.175949 864.668457,209.000229 856.998779,209.000229
C856.998779,201.147369 856.873962,193.690231 857.055969,186.240585
C857.136780,182.930405 855.914551,181.885361 852.685303,181.946136
C844.024353,182.109100 835.353577,182.169205 826.696411,181.924866
C822.862244,181.816650 821.815918,183.225128 821.930847,186.859314
C822.160706,194.129303 821.998962,201.411682 821.998962,209.080811
C816.456604,209.080811 811.373901,209.080811 806.243713,209.080811
C806.243713,218.554535 806.243713,227.624756 806.243713,237.093979
C811.555908,237.093979 816.638550,237.093979 821.998718,237.093979
C821.998718,250.623886 821.980408,263.753937 822.006348,276.883942
C822.019836,283.721100 822.417053,290.286316 824.710083,297.068939
C828.765015,309.063416 836.881409,316.429565 848.423889,318.704926
C860.348633,321.055634 872.710938,322.043884 884.697510,317.104858
C890.942017,314.531799 892.264709,312.832123 889.969299,305.820374
M646.022705,286.253082
C645.348145,283.837036 644.246521,281.448303 644.089783,278.999115
C643.781677,274.186981 643.998718,269.341217 643.998718,264.509369
C643.998657,255.412064 643.998718,246.314774 643.998718,236.829391
C653.304871,236.829391 662.048340,236.829391 670.711182,236.829391
C670.711182,227.356247 670.711182,218.285568 670.711182,208.819717
C661.684021,208.819717 652.940796,208.819717 643.998779,208.819717
C643.998779,201.109039 643.842957,193.794189 644.065674,186.490891
C644.174133,182.933350 642.891846,181.856796 639.434570,181.938187
C631.108459,182.134247 622.772461,182.111343 614.444641,181.955643
C610.258484,181.877396 608.688538,183.381592 608.903992,187.731018
C609.253906,194.791382 608.998413,201.881760 608.998413,209.163147
C603.306885,209.163147 598.351929,209.163147 593.202759,209.163147
C593.202759,218.460022 593.202759,227.529846 593.202759,237.001740
C598.459839,237.001740 603.542419,237.001740 608.998291,237.001740
C608.998291,249.851242 609.261414,262.310272 608.913330,274.752197
C608.644531,284.362213 609.916626,293.511353 614.017456,302.252594
C618.360107,311.509308 626.071716,316.807739 635.560608,318.786652
C642.401489,320.213318 649.687622,320.237030 656.712585,319.823730
C662.569946,319.479126 668.368835,317.724457 674.131897,316.337769
C678.027527,315.400391 678.862000,312.112457 677.869019,308.935822
C675.815918,302.368164 673.282166,295.943329 670.707214,289.556030
C670.398743,288.790710 668.456482,288.045837 667.535828,288.289673
C665.143677,288.923157 662.869873,290.049774 660.600708,291.092468
C654.228577,294.020691 649.879395,292.773499 646.022705,286.253082
M942.006714,231.500061
C942.006714,225.169708 941.978516,218.839203 942.016663,212.509079
C942.042236,208.266632 940.608398,205.807190 935.758789,205.940140
C927.435608,206.168289 919.098877,206.133057 910.773499,205.949417
C906.476990,205.854630 904.940247,207.596161 904.951782,211.831055
C905.044800,245.814789 905.077942,279.799225 904.912476,313.782379
C904.891235,318.144440 906.776978,319.066925 910.456299,319.027740
C918.784729,318.938934 927.114807,319.006897 935.444214,318.997711
C941.540771,318.990997 942.002625,318.536865 942.004028,312.462311
C942.010315,285.808228 942.006714,259.154114 942.006714,231.500061
M931.917603,157.015991
C926.253113,157.030777 919.942444,155.432159 915.055786,157.389175
C904.182983,161.743515 898.360107,171.227386 903.963867,184.211945
C909.002197,195.886246 924.573608,197.451218 933.144470,193.210266
C937.956421,190.829224 941.406616,187.386108 943.475098,181.586349
C946.463623,173.206970 943.402832,162.441132 935.160034,159.024567
C934.268433,158.654968 933.552551,157.861313 931.917603,157.015991
z"/>
<path class="no-fill" fill="#e4e9ed" opacity="1.000000" stroke="none"
d="
M167.876633,140.981537
C174.936737,137.980591 181.399002,134.338303 188.322586,132.166962
C198.561508,128.955856 209.026443,126.203468 219.588638,124.371231
C227.486328,123.001205 235.691360,123.427856 243.756104,122.991013
C262.051788,122.000023 280.149902,123.860130 297.560303,129.233841
C309.365997,132.877670 320.680145,138.295029 331.920624,143.547440
C349.724396,151.866730 365.162262,163.757111 378.362671,178.141830
C387.167419,187.736511 395.006927,198.329865 402.395996,209.082657
C411.955780,222.994354 418.168976,238.677246 422.852966,254.805374
C425.399597,263.574127 427.076324,272.749359 427.823303,281.849792
C428.864685,294.536163 429.348846,307.354767 428.777374,320.058563
C428.352325,329.508057 426.427979,339.001648 424.158295,348.226318
C421.724396,358.118256 418.826904,368.028748 414.814606,377.365112
C410.132721,388.259460 404.582367,398.707245 397.565430,408.572968
C389.920959,419.321014 381.824799,429.470215 372.157410,438.279358
C362.313995,447.248901 352.351593,456.159454 340.151367,462.085205
C334.105804,465.021606 328.595734,469.130463 322.432281,471.736694
C314.680359,475.014648 306.555847,477.452454 298.500885,479.959625
C292.266449,481.900085 285.976227,483.883484 279.562469,484.981415
C264.357178,487.584259 249.075256,489.413147 233.589005,487.072449
C226.981689,486.073761 220.082153,486.464447 213.671463,484.828522
C202.285751,481.923035 190.989990,478.433990 180.000198,474.280029
C170.952942,470.860291 161.836838,466.996368 153.771606,461.758270
C142.906265,454.701569 132.785294,446.420929 122.778961,438.140961
C112.337166,429.500641 103.655174,419.054169 96.392693,407.685608
C89.176323,396.389252 81.754852,385.083740 77.949402,371.949371
C74.138252,358.795380 68.531563,345.917480 66.672409,332.508087
C64.655029,317.957428 65.570129,302.914490 66.145454,288.122711
C66.482559,279.455566 68.205719,270.761383 70.081841,262.250488
C75.327057,238.455933 85.694534,216.903946 100.004242,197.262222
C107.793411,186.570709 116.481079,176.580917 126.590767,168.028687
C139.128983,157.422043 152.329453,147.700104 167.876633,140.981537
M132.966751,214.354034
C124.555054,223.287628 118.893524,233.974274 113.911568,245.001236
C103.961014,267.025665 99.775597,290.178680 101.275322,314.314514
C101.344681,315.430603 102.444328,317.469421 102.865555,317.419037
C105.927773,317.052612 109.150627,316.694000 111.855560,315.375000
C112.849022,314.890533 112.908173,311.802826 112.834854,309.924408
C112.111908,291.402679 115.583374,273.626099 121.922684,256.299652
C123.057983,253.196686 124.701180,251.934250 128.133636,251.974991
C143.129929,252.153030 158.130569,252.145660 173.127274,251.985245
C176.880829,251.945099 178.162659,253.303375 178.018082,256.944580
C177.819901,261.935822 178.115417,266.945953 177.944290,271.939240
C177.841385,274.941528 178.841797,276.131317 181.940247,276.017944
C187.099396,275.829132 192.273209,276.068695 197.435638,275.931274
C200.220673,275.857178 201.326218,276.882599 201.259171,279.699951
C201.132324,285.029541 201.049988,290.373322 201.303955,295.694275
C201.476990,299.319550 200.004684,300.243896 196.624146,300.170044
C188.129105,299.984344 179.618729,300.335754 171.131744,300.015228
C166.815002,299.852234 165.805374,301.428619 165.901123,305.456909
C166.150558,315.949921 166.251190,326.463776 165.810379,336.944061
C165.695541,339.673981 164.002289,342.981995 161.965134,344.873016
C153.940643,352.321838 145.350052,359.157410 137.240845,366.519409
C130.297775,372.822662 129.367477,372.802704 125.607910,364.281097
C124.737373,362.307922 124.079933,360.232574 123.107780,358.314026
C121.034584,354.222504 120.734001,350.364960 123.037453,346.102112
C125.569832,341.415527 123.708107,335.234375 119.447762,332.180908
C114.261009,328.463470 107.819405,329.382233 103.476433,334.458893
C99.840965,338.708557 100.381050,345.415680 104.393188,349.854431
C106.578735,352.272400 108.955849,354.848663 110.125664,357.798126
C116.462189,373.774200 124.735435,388.698853 135.753143,401.781433
C148.237762,416.605804 163.224503,428.763458 180.550903,437.644287
C204.637253,449.989929 230.180344,455.488586 257.366608,453.940338
C277.048920,452.819458 295.621857,448.148193 313.365265,439.728912
C328.202942,432.688446 341.472839,423.257477 353.081024,411.834534
C360.232697,404.796967 366.481384,396.634552 372.089600,388.275452
C387.549530,365.232300 396.454956,339.830261 396.971863,311.879791
C397.121918,303.764557 396.494507,295.617767 395.839783,287.516449
C395.666595,285.373474 394.066406,283.345825 393.121429,281.265259
C389.899841,282.756622 385.302917,280.502197 383.149933,285.226410
C382.548767,286.545532 380.513245,288.002289 379.103882,288.035278
C368.777191,288.276855 358.440613,288.065491 348.111145,288.237701
C344.727600,288.294098 343.822144,286.956360 343.898560,283.812164
C344.064514,276.983612 343.757751,270.140808 344.021179,263.318390
C344.174805,259.340698 342.748108,258.115997 338.841583,258.175781
C326.179230,258.369537 313.487885,257.783051 300.856537,258.438324
C294.190521,258.784149 290.467590,256.250427 287.392548,250.890137
C285.607635,247.778778 285.449554,245.611679 288.166260,243.024536
C293.957214,237.509674 299.682739,231.904694 305.082367,226.013351
C306.684814,224.264984 307.870514,221.461853 307.943695,219.101624
C308.253418,209.112335 308.035614,199.107651 308.086517,189.108963
C308.109802,184.532486 309.500061,183.569366 313.491699,185.827530
C318.800049,188.830597 324.001495,192.067581 329.008667,195.549561
C343.651642,205.732224 355.517517,218.734985 364.744904,233.829880
C369.199524,241.117050 374.787750,248.376083 374.120422,257.985413
C373.695007,264.111664 377.886230,269.233765 383.065033,269.929779
C389.128632,270.744751 395.040710,267.428040 396.674744,262.294739
C398.485931,256.604828 395.861298,250.082947 389.869598,248.144943
C384.918579,246.543533 382.739075,243.239304 380.966187,239.016235
C380.262634,237.340271 379.459229,235.689972 378.537781,234.124207
C369.733398,219.163620 359.173676,205.763748 346.050812,194.168015
C334.437012,183.905731 321.714966,175.524963 307.610474,169.672470
C285.038452,160.306488 261.533936,155.418793 236.795868,158.114029
C221.548752,159.775223 206.898743,163.035767 192.589386,168.807236
C170.275879,177.807083 152.075470,192.121353 136.079208,209.652496
C134.988205,210.848221 134.302048,212.413361 132.966751,214.354034
z"/>
<path class="no-fill" fill="#a2b2c1" opacity="1.000000" stroke="none"
d="
M588.000854,276.010529
C587.657349,294.079529 578.978088,306.156097 563.589294,314.051422
C557.043640,317.409698 550.034912,318.567749 543.059509,320.396271
C534.607849,322.611816 526.356934,322.109497 518.145081,321.735718
C510.581085,321.391418 503.096130,318.931183 495.619141,317.216370
C491.905396,316.364624 488.164978,315.391388 484.655548,313.942780
C479.466431,311.800751 474.204224,309.613586 469.474884,306.645996
C465.233276,303.984406 468.112793,299.701477 469.251984,296.686707
C471.240784,291.423462 474.549225,286.675537 476.920074,281.534302
C478.573273,277.949280 481.500427,276.800171 484.575043,279.258331
C490.249908,283.795319 497.129425,285.543030 503.700928,288.208069
C514.014709,292.390778 524.502258,290.541504 534.922668,290.938019
C544.707581,291.310364 549.454102,286.638275 552.578552,279.262970
C553.331726,277.485077 550.855347,273.172180 548.710022,271.589386
C544.889038,268.770264 540.357971,266.623077 535.815613,265.138000
C528.394958,262.711884 520.827393,260.356781 513.137451,259.230347
C503.889832,257.875763 495.561554,254.529800 487.696991,249.933990
C478.552704,244.590332 471.980652,237.202454 470.944489,225.973831
C470.636566,222.636673 468.578278,219.130356 469.218536,216.102615
C470.727905,208.965134 472.373993,201.520096 475.819519,195.212646
C480.246643,187.108170 487.796967,181.770569 496.440857,177.917358
C512.011536,170.976379 528.430420,171.469513 544.735779,172.240433
C551.789612,172.573914 558.794373,175.265778 565.679688,177.353638
C569.874329,178.625580 573.797913,180.790466 577.844971,182.550110
C582.892395,184.744690 582.804077,185.099792 580.601257,189.963547
C577.827271,196.088501 575.379395,202.375687 573.098389,208.703751
C571.808105,212.283157 571.240906,214.109848 566.748657,211.198135
C561.024353,207.487778 554.741760,204.414185 547.489624,203.877670
C541.093628,203.404480 534.762268,201.177933 528.410767,201.213486
C520.974243,201.255127 513.577026,202.919907 508.270813,209.178177
C504.070007,214.132782 505.534332,220.874710 511.234009,224.041794
C516.920837,227.201736 522.822632,228.970016 529.262634,230.260956
C540.317566,232.476944 551.286987,235.650284 561.858337,239.587006
C570.934082,242.966827 578.941101,248.514008 583.921143,257.417480
C587.082581,263.069641 588.470947,269.078613 588.000854,276.010529
z"/>
<path class="no-fill" fill="#68C4E2" opacity="1.000000" stroke="none"
d="
M695.998657,440.939362
C695.997070,424.193878 695.997070,407.940155 695.997070,390.418884
C692.563293,395.680420 689.675842,399.837463 687.064148,404.161102
C681.281494,413.734589 674.858215,423.031982 670.194763,433.133759
C666.755981,440.582794 661.930969,441.457672 654.937317,441.244873
C651.432251,441.138275 649.505859,439.545929 648.229004,437.419861
C640.954224,425.306458 634.063843,412.963043 626.901367,400.780945
C625.027832,397.594269 622.650879,394.703552 620.181335,391.220276
C620.181335,411.870605 620.181335,432.068787 620.181335,452.980591
C611.129150,452.980591 602.374634,453.113800 593.637390,452.785950
C592.706604,452.751038 591.155945,450.038422 591.118286,448.537262
C590.884399,439.211823 591.000305,429.877625 591.000305,420.546326
C591.000244,394.218719 591.094299,367.890472 590.907288,341.564209
C590.876221,337.190399 592.076294,335.566528 596.531311,335.921661
C601.001953,336.278046 605.616577,336.576233 610.000183,335.865082
C616.587097,334.796417 619.274841,338.667267 622.033630,343.386292
C626.762939,351.476044 631.848633,359.356506 636.662170,367.398254
C641.184082,374.953003 645.542114,382.605865 649.982727,390.209412
C652.672058,394.814240 655.381348,399.407440 658.513550,404.741425
C663.601990,395.987427 668.257690,387.905548 672.986633,379.866791
C676.318481,374.202972 679.739929,368.591797 683.139099,362.967804
C686.733948,357.020111 690.400452,351.114929 693.930359,345.129150
C695.260071,342.874359 695.992859,340.208679 697.579041,338.186218
C698.513123,336.995209 700.564941,336.165588 702.154175,336.096405
C707.808838,335.850311 713.499512,336.283203 719.140381,335.911102
C723.716858,335.609222 725.149841,336.994293 725.109741,341.734375
C724.882812,368.559967 725.000061,395.388428 724.999939,422.215912
C724.999878,431.047333 724.895264,439.880585 725.053284,448.709167
C725.111755,451.975342 723.957947,453.124420 720.700012,453.053192
C713.048584,452.885834 705.390991,452.999634 696.848206,452.999634
C696.560486,449.074463 696.280396,445.252808 695.998657,440.939362
z"/>
<path class="no-fill" fill="#a2b2c1" opacity="1.000000" stroke="none"
d="
M792.999939,253.054291
C793.000000,273.705688 792.897217,293.863983 793.086670,314.019501
C793.124573,318.054779 791.848022,319.191132 787.928223,319.081451
C778.798218,318.825989 769.656128,319.000000 760.196777,319.000000
C760.196777,315.995300 760.196777,313.246552 760.196777,309.678650
C758.034058,311.277039 756.372742,312.318695 754.930359,313.605682
C750.535645,317.526825 745.134827,319.635040 739.566956,319.825745
C730.522278,320.135529 721.241699,320.381866 712.426147,318.718323
C702.732483,316.889069 694.853394,311.097412 689.989441,301.934509
C685.205444,292.922241 685.921936,283.310516 688.254883,274.199524
C690.386353,265.875183 696.736755,260.531677 704.910461,256.833282
C716.742554,251.479584 729.017151,251.950424 741.387939,251.996552
C746.862244,252.016968 752.336609,252.000000 757.810120,252.000000
C757.726318,243.497620 750.969604,235.516434 743.187317,235.081741
C736.218506,234.692459 729.018188,234.003708 722.278870,235.305313
C716.502258,236.421005 710.996033,239.775909 705.837402,242.909592
C703.118652,244.561127 701.547974,243.872879 700.550293,241.932648
C696.779785,234.600174 693.342529,227.096298 689.690674,219.468826
C698.457581,213.445953 707.546326,209.881653 717.654114,207.677628
C725.259033,206.019333 732.836365,205.162659 740.381958,205.198578
C752.314941,205.255402 763.999512,207.501312 774.407898,214.031769
C780.631165,217.936340 785.148071,223.280777 787.981323,230.056213
C790.993469,237.259460 792.798584,244.730682 792.999939,253.054291
M744.517761,294.070740
C753.547119,293.064148 759.386597,284.034485 757.339539,274.000244
C748.755127,274.000244 740.127502,273.832520 731.510437,274.062531
C726.265381,274.202545 722.632568,277.217896 720.541992,281.963623
C718.680908,286.188141 721.129089,289.331970 723.739929,292.069397
C724.928589,293.315674 727.110779,293.560425 728.733337,294.456757
C733.791626,297.251160 738.883972,296.530243 744.517761,294.070740
z"/>
<path class="no-fill" fill="#a2b2c1" opacity="1.000000" stroke="none"
d="
M1046.243652,316.315552
C1034.517456,321.704590 1022.310181,320.702789 1010.547485,319.743103
C992.491150,318.269867 978.148560,309.759735 967.795166,294.132965
C959.889343,282.200500 957.983032,269.354370 959.139709,255.881668
C960.529236,239.698441 968.211548,226.620941 981.560242,217.161316
C987.931396,212.646393 995.051086,209.996262 1002.616760,207.716599
C1013.473145,204.445419 1024.342285,204.447144 1034.949829,206.287491
C1046.088745,208.220032 1056.477905,213.075745 1064.030151,222.280106
C1066.043091,224.733246 1068.438110,227.016327 1069.843628,229.790024
C1071.855103,233.759644 1071.676880,236.634918 1066.201172,238.784027
C1059.053589,241.589417 1052.616943,246.206375 1046.974487,249.417694
C1040.494507,244.483963 1035.184326,238.966690 1028.704956,236.024017
C1024.356079,234.048935 1018.301819,235.314667 1013.106934,235.935883
C1010.544128,236.242340 1008.222839,238.419022 1005.751953,239.669769
C996.428223,244.389465 992.803162,259.773285 994.528748,268.319214
C995.894592,275.084015 998.357483,280.961029 1003.755798,285.168121
C1006.783020,287.527374 1010.265442,289.833099 1013.902893,290.780396
C1025.353760,293.762543 1035.458618,289.379486 1042.305908,279.227448
C1044.405273,276.114838 1048.113647,276.361023 1052.961548,279.498047
C1057.595459,282.496582 1062.379761,285.278290 1067.210449,287.951721
C1070.295654,289.659180 1072.388550,291.564362 1070.260986,295.254120
C1065.500610,303.509552 1059.250854,310.230896 1050.394165,314.210327
C1049.099121,314.792145 1047.831421,315.434387 1046.243652,316.315552
z"/>
<path class="no-fill" fill="#68C4E2" opacity="1.000000" stroke="none"
d="
M804.927979,334.000214
C814.492676,335.920166 823.672485,337.828247 831.472961,343.130066
C832.681274,343.951324 832.525452,348.103210 831.745850,350.261658
C829.878113,355.432190 827.263306,360.332886 824.403870,366.525299
C822.221375,365.616730 819.390442,364.181274 816.402039,363.251526
C811.309814,361.667236 806.139099,360.318970 800.961670,359.030975
C797.832214,358.252411 794.154114,356.472412 791.551575,357.419800
C785.227112,359.722198 777.424255,358.060760 772.511292,364.197937
C770.781860,366.358246 772.080627,374.070679 774.924011,375.268433
C780.973267,377.816742 787.127747,380.369751 793.486755,381.873260
C805.513794,384.716919 817.633484,387.255615 827.862793,394.591003
C830.819336,396.711060 832.971619,400.213806 834.914734,403.431641
C838.969971,410.146881 839.369019,418.060669 837.684631,425.046478
C834.913574,436.539001 827.710022,445.273102 816.288879,450.099426
C810.783691,452.425812 805.345581,454.013611 799.306335,454.120209
C794.788940,454.199982 790.166321,456.343231 785.806763,455.807800
C773.802917,454.333435 761.569458,453.422913 750.448120,447.859192
C747.826538,446.547668 744.736877,445.711487 742.739197,443.759521
C741.152649,442.209290 739.647400,438.822418 740.299988,437.066101
C742.184875,431.992889 745.225586,427.355530 747.695374,422.487671
C748.177673,421.537262 748.133728,420.319946 748.489929,418.359131
C751.749939,419.773193 754.632202,421.068268 757.549622,422.278534
C762.220398,424.216095 766.798767,426.497803 771.630188,427.893311
C776.747437,429.371368 782.094482,430.642273 787.377747,430.802948
C793.524597,430.989838 799.796265,429.859161 805.276245,426.796356
C809.622559,424.367157 809.193115,415.892761 804.474121,413.990265
C797.543823,411.196228 790.264221,409.263855 783.120667,407.004578
C770.932312,403.149811 757.873718,401.305908 748.536316,391.117950
C741.047913,382.947540 740.822815,373.036865 742.519897,363.267914
C744.540161,351.638824 751.740051,343.697601 762.796753,338.853973
C774.828369,333.583282 787.066406,331.765137 799.973450,333.913513
C801.434692,334.156738 802.965515,333.981384 804.927979,334.000214
z"/>
<path class="no-fill" fill="#68C4E2" opacity="1.000000" stroke="none"
d="
M480.253296,435.772827
C477.327484,432.236023 474.198761,429.246307 472.099915,425.654755
C463.150543,410.340576 463.204559,393.503784 466.339630,376.988068
C468.155609,367.421478 473.666687,358.645966 480.952240,351.634033
C488.948853,343.937866 498.175751,338.790771 509.130951,335.702026
C520.449585,332.510742 531.668335,332.173462 542.705505,334.261078
C555.349243,336.652588 566.942017,342.267151 575.634766,352.396637
C577.226685,354.251709 577.655823,356.283630 575.235596,358.361023
C570.447327,362.470947 566.120605,367.145233 561.139343,370.984619
C559.922241,371.922729 556.540527,371.151550 554.797607,370.099823
C549.829224,367.101868 545.604614,361.996277 540.325623,360.599670
C532.985596,358.657959 525.322449,358.202332 517.267944,361.448273
C509.455353,364.596741 503.598267,368.917725 499.587128,375.845062
C497.496246,379.456116 496.053070,383.598816 495.140594,387.685211
C494.432220,390.857544 494.825958,394.325470 495.030884,397.643433
C495.795105,410.015167 500.984863,419.800568 512.686218,424.889893
C518.116699,427.251831 524.213440,429.995819 529.812073,429.622986
C538.910950,429.017029 547.934998,426.302734 554.267456,418.467712
C556.325073,415.921875 558.704285,414.762360 561.775391,418.098114
C565.945496,422.627563 570.705750,426.620880 575.291260,430.757324
C577.293945,432.563965 577.560913,434.050385 575.500916,436.103180
C568.895874,442.685303 562.003906,448.784821 552.596375,450.990875
C547.873901,452.098236 543.125610,453.125061 538.350403,453.969940
C533.705627,454.791779 528.825073,456.501923 524.372314,455.791107
C508.078308,453.189972 491.791809,450.022217 480.253296,435.772827
z"/>
<path class="no-fill" fill="#a2b2c1" opacity="1.000000" stroke="none"
d="
M889.985352,306.242157
C892.264709,312.832123 890.942017,314.531799 884.697510,317.104858
C872.710938,322.043884 860.348633,321.055634 848.423889,318.704926
C836.881409,316.429565 828.765015,309.063416 824.710083,297.068939
C822.417053,290.286316 822.019836,283.721100 822.006348,276.883942
C821.980408,263.753937 821.998718,250.623886 821.998718,237.093979
C816.638550,237.093979 811.555908,237.093979 806.243713,237.093979
C806.243713,227.624756 806.243713,218.554535 806.243713,209.080811
C811.373901,209.080811 816.456604,209.080811 821.998962,209.080811
C821.998962,201.411682 822.160706,194.129303 821.930847,186.859314
C821.815918,183.225128 822.862244,181.816650 826.696411,181.924866
C835.353577,182.169205 844.024353,182.109100 852.685303,181.946136
C855.914551,181.885361 857.136780,182.930405 857.055969,186.240585
C856.873962,193.690231 856.998779,201.147369 856.998779,209.000229
C864.668457,209.000229 871.960205,209.175949 879.237488,208.927612
C882.991699,208.799484 884.218079,210.080276 884.069458,213.795502
C883.816650,220.116776 883.861084,226.459808 884.056946,232.785156
C884.160278,236.123077 882.867920,237.130127 879.662659,237.054733
C872.341980,236.882507 865.014526,237.000305 856.998718,237.000305
C856.998718,241.339554 856.998657,245.589661 856.998779,249.839767
C856.998962,260.003326 856.955994,270.167114 857.014038,280.330353
C857.055176,287.527557 862.932007,293.501770 869.907532,292.861359
C872.950439,292.582031 876.299194,291.382141 878.717957,289.553741
C882.324097,286.827911 883.163635,287.896027 884.311890,291.602509
C885.816650,296.459808 888.049561,301.091583 889.985352,306.242157
z"/>
<path class="no-fill" fill="#a2b2c1" opacity="1.000000" stroke="none"
d="
M646.226196,286.604004
C649.879395,292.773499 654.228577,294.020691 660.600708,291.092468
C662.869873,290.049774 665.143677,288.923157 667.535828,288.289673
C668.456482,288.045837 670.398743,288.790710 670.707214,289.556030
C673.282166,295.943329 675.815918,302.368164 677.869019,308.935822
C678.862000,312.112457 678.027527,315.400391 674.131897,316.337769
C668.368835,317.724457 662.569946,319.479126 656.712585,319.823730
C649.687622,320.237030 642.401489,320.213318 635.560608,318.786652
C626.071716,316.807739 618.360107,311.509308 614.017456,302.252594
C609.916626,293.511353 608.644531,284.362213 608.913330,274.752197
C609.261414,262.310272 608.998291,249.851242 608.998291,237.001740
C603.542419,237.001740 598.459839,237.001740 593.202759,237.001740
C593.202759,227.529846 593.202759,218.460022 593.202759,209.163147
C598.351929,209.163147 603.306885,209.163147 608.998413,209.163147
C608.998413,201.881760 609.253906,194.791382 608.903992,187.731018
C608.688538,183.381592 610.258484,181.877396 614.444641,181.955643
C622.772461,182.111343 631.108459,182.134247 639.434570,181.938187
C642.891846,181.856796 644.174133,182.933350 644.065674,186.490891
C643.842957,193.794189 643.998779,201.109039 643.998779,208.819717
C652.940796,208.819717 661.684021,208.819717 670.711182,208.819717
C670.711182,218.285568 670.711182,227.356247 670.711182,236.829391
C662.048340,236.829391 653.304871,236.829391 643.998718,236.829391
C643.998718,246.314774 643.998657,255.412064 643.998718,264.509369
C643.998718,269.341217 643.781677,274.186981 644.089783,278.999115
C644.246521,281.448303 645.348145,283.837036 646.226196,286.604004
z"/>
<path class="no-fill" fill="#a2b2c1" opacity="1.000000" stroke="none"
d="
M942.006714,232.000046
C942.006714,259.154114 942.010315,285.808228 942.004028,312.462311
C942.002625,318.536865 941.540771,318.990997 935.444214,318.997711
C927.114807,319.006897 918.784729,318.938934 910.456299,319.027740
C906.776978,319.066925 904.891235,318.144440 904.912476,313.782379
C905.077942,279.799225 905.044800,245.814789 904.951782,211.831055
C904.940247,207.596161 906.476990,205.854630 910.773499,205.949417
C919.098877,206.133057 927.435608,206.168289 935.758789,205.940140
C940.608398,205.807190 942.042236,208.266632 942.016663,212.509079
C941.978516,218.839203 942.006714,225.169708 942.006714,232.000046
z"/>
<path class="no-fill" fill="#a2b2c1" opacity="1.000000" stroke="none"
d="
M932.336365,157.140182
C933.552551,157.861313 934.268433,158.654968 935.160034,159.024567
C943.402832,162.441132 946.463623,173.206970 943.475098,181.586349
C941.406616,187.386108 937.956421,190.829224 933.144470,193.210266
C924.573608,197.451218 909.002197,195.886246 903.963867,184.211945
C898.360107,171.227386 904.182983,161.743515 915.055786,157.389175
C919.942444,155.432159 926.253113,157.030777 932.336365,157.140182
z"/>
<path class="no-fill" fill="#6EC5E3" opacity="1.000000" stroke="none"
d="
M133.197174,214.080368
C134.302048,212.413361 134.988205,210.848221 136.079208,209.652496
C152.075470,192.121353 170.275879,177.807083 192.589386,168.807236
C206.898743,163.035767 221.548752,159.775223 236.795868,158.114029
C261.533936,155.418793 285.038452,160.306488 307.610474,169.672470
C321.714966,175.524963 334.437012,183.905731 346.050812,194.168015
C359.173676,205.763748 369.733398,219.163620 378.537781,234.124207
C379.459229,235.689972 380.262634,237.340271 380.966187,239.016235
C382.739075,243.239304 384.918579,246.543533 389.869598,248.144943
C395.861298,250.082947 398.485931,256.604828 396.674744,262.294739
C395.040710,267.428040 389.128632,270.744751 383.065033,269.929779
C377.886230,269.233765 373.695007,264.111664 374.120422,257.985413
C374.787750,248.376083 369.199524,241.117050 364.744904,233.829880
C355.517517,218.734985 343.651642,205.732224 329.008667,195.549561
C324.001495,192.067581 318.800049,188.830597 313.491699,185.827530
C309.500061,183.569366 308.109802,184.532486 308.086517,189.108963
C308.035614,199.107651 308.253418,209.112335 307.943695,219.101624
C307.870514,221.461853 306.684814,224.264984 305.082367,226.013351
C299.682739,231.904694 293.957214,237.509674 288.166260,243.024536
C285.449554,245.611679 285.607635,247.778778 287.392548,250.890137
C290.467590,256.250427 294.190521,258.784149 300.856537,258.438324
C313.487885,257.783051 326.179230,258.369537 338.841583,258.175781
C342.748108,258.115997 344.174805,259.340698 344.021179,263.318390
C343.757751,270.140808 344.064514,276.983612 343.898560,283.812164
C343.822144,286.956360 344.727600,288.294098 348.111145,288.237701
C358.440613,288.065491 368.777191,288.276855 379.103882,288.035278
C380.513245,288.002289 382.548767,286.545532 383.149933,285.226410
C385.302917,280.502197 389.899841,282.756622 393.121460,281.265259
C394.066406,283.345825 395.666595,285.373474 395.839783,287.516449
C396.494507,295.617767 397.121918,303.764557 396.971863,311.879791
C396.454956,339.830261 387.549530,365.232300 372.089600,388.275452
C366.481384,396.634552 360.232697,404.796967 353.081024,411.834534
C341.472839,423.257477 328.202942,432.688446 313.365265,439.728912
C295.621857,448.148193 277.048920,452.819458 257.366608,453.940338
C230.180344,455.488586 204.637253,449.989929 180.550903,437.644287
C163.224503,428.763458 148.237762,416.605804 135.753143,401.781433
C124.735435,388.698853 116.462189,373.774200 110.125664,357.798126
C108.955849,354.848663 106.578735,352.272400 104.393188,349.854431
C100.381050,345.415680 99.840965,338.708557 103.476433,334.458893
C107.819405,329.382233 114.261009,328.463470 119.447762,332.180908
C123.708107,335.234375 125.569832,341.415527 123.037453,346.102112
C120.734001,350.364960 121.034584,354.222504 123.107780,358.314026
C124.079933,360.232574 124.737373,362.307922 125.607910,364.281097
C129.367477,372.802704 130.297775,372.822662 137.240845,366.519409
C145.350052,359.157410 153.940643,352.321838 161.965134,344.873016
C164.002289,342.981995 165.695541,339.673981 165.810379,336.944061
C166.251190,326.463776 166.150558,315.949921 165.901123,305.456909
C165.805374,301.428619 166.815002,299.852234 171.131744,300.015228
C179.618729,300.335754 188.129105,299.984344 196.624146,300.170044
C200.004684,300.243896 201.476990,299.319550 201.303955,295.694275
C201.049988,290.373322 201.132324,285.029541 201.259171,279.699951
C201.326218,276.882599 200.220673,275.857178 197.435638,275.931274
C192.273209,276.068695 187.099396,275.829132 181.940247,276.017944
C178.841797,276.131317 177.841385,274.941528 177.944290,271.939240
C178.115417,266.945953 177.819901,261.935822 178.018082,256.944580
C178.162659,253.303375 176.880829,251.945099 173.127274,251.985245
C158.130569,252.145660 143.129929,252.153030 128.133636,251.974991
C124.701180,251.934250 123.057983,253.196686 121.922684,256.299652
C115.583374,273.626099 112.111908,291.402679 112.834854,309.924408
C112.908173,311.802826 112.849022,314.890533 111.855560,315.375000
C109.150627,316.694000 105.927773,317.052612 102.865555,317.419037
C102.444328,317.469421 101.344681,315.430603 101.275322,314.314514
C99.775597,290.178680 103.961014,267.025665 113.911568,245.001236
C118.893524,233.974274 124.555054,223.287628 133.197174,214.080368
M274.468506,440.162323
C276.895966,439.649353 279.358032,439.261932 281.745422,438.603668
C302.473633,432.888306 321.399200,423.894073 337.661896,409.407410
C341.795715,405.725067 341.099976,404.116913 337.709656,401.169861
C328.932892,393.540649 320.201111,385.854614 311.618439,378.008453
C301.925537,369.147339 304.823242,367.246796 293.226166,379.492371
C291.539978,381.272888 288.702576,382.743774 286.296600,382.912292
C279.663574,383.376953 272.975677,383.151093 266.311798,383.047882
C262.160400,382.983582 260.570435,384.773285 261.144836,388.894226
C261.885437,394.207397 261.131378,395.024628 255.780792,395.036896
C242.116608,395.068176 228.452301,395.045563 214.788040,395.042053
C201.322189,395.038605 201.409409,395.035522 201.142395,381.686310
C201.096054,379.369720 200.654022,376.431122 199.211716,374.879639
C192.408722,367.561646 185.297485,360.516357 178.016281,353.671570
C176.908386,352.630096 173.586334,352.240356 172.549179,353.089386
C161.500671,362.133209 150.701157,371.481476 139.847458,380.762756
C137.509918,382.761627 137.599960,384.703308 139.477402,387.223145
C148.201752,398.933044 158.418747,409.171173 170.330887,417.519104
C201.547028,439.395081 236.151672,446.465576 274.468506,440.162323
M233.500000,336.022949
C240.997757,336.022003 248.500427,336.182892 255.991257,335.954651
C259.986053,335.832947 261.279297,337.397217 261.148773,341.242249
C260.934143,347.566315 261.087921,353.902985 261.090210,360.234344
C261.093719,370.069214 261.087372,370.127258 270.471802,371.375519
C273.260010,371.746429 276.183624,372.158508 278.902161,371.701385
C281.713837,371.228546 284.950470,370.378296 286.956451,368.548065
C293.718719,362.378296 300.093414,355.773041 306.426514,349.152771
C307.673859,347.848846 308.697052,345.758453 308.759674,343.993042
C309.019470,336.671143 308.809998,329.334015 308.903290,322.004150
C308.940643,319.065887 307.843079,317.731903 304.794952,317.832214
C300.634216,317.969086 296.465271,317.877014 292.300049,317.850220
C283.999756,317.796783 284.978638,318.679932 284.952667,310.250427
C284.916229,298.420898 285.046112,286.589478 284.851990,274.763000
C284.813416,272.412811 284.068024,269.831543 282.892334,267.792999
C280.410339,263.489410 277.678345,259.269165 274.535156,255.436020
C273.170746,253.772110 270.573883,252.290100 268.474884,252.202133
C259.825928,251.839676 251.147537,252.226547 242.491821,251.957062
C238.575317,251.835114 237.576630,253.351913 237.798965,256.926636
C238.046722,260.910095 237.868408,264.920654 237.859970,268.919373
C237.845459,275.786621 237.575760,276.056458 230.948380,276.033264
C226.949677,276.019287 222.935547,276.229584 218.956528,275.945038
C214.893097,275.654480 213.754272,277.396240 213.840897,281.203705
C214.034119,289.696655 213.822647,298.198090 213.937500,306.693878
C213.988983,310.501892 212.545502,312.029694 208.599182,311.928925
C199.940842,311.707977 191.270996,311.968231 182.610001,311.807495
C179.108963,311.742523 177.836395,313.108643 177.956619,316.521088
C178.126663,321.347137 177.726166,326.208038 178.143311,331.004150
C178.338882,333.252716 179.382843,335.834106 180.892258,337.489777
C186.720444,343.882721 192.880356,349.973999 198.961853,356.133087
C199.324295,356.500122 200.081741,356.477173 201.233368,356.795410
C201.233368,351.386139 201.438599,346.408020 201.169266,341.455719
C200.948715,337.400299 202.250824,335.810150 206.510696,335.944946
C215.165955,336.218903 223.836029,336.024445 233.500000,336.022949
M226.487503,216.974564
C228.318466,216.972504 230.169739,217.144852 231.976410,216.934296
C236.626938,216.392303 238.261978,218.372772 237.932877,222.949615
C237.611343,227.420914 237.970520,231.936935 237.815445,236.425873
C237.706879,239.568451 238.831314,240.808350 242.108658,240.970367
C271.671997,242.431732 271.669800,242.475281 292.326508,221.303314
C292.791443,220.826767 293.466125,220.437729 293.695282,219.868042
C294.830353,217.045822 296.641174,214.209595 296.761719,211.317810
C297.149567,202.012863 296.705475,192.675598 296.979675,183.362503
C297.106903,179.041595 295.408844,176.904739 291.375214,175.996246
C285.569855,174.688721 279.870422,172.750992 274.007111,171.898193
C265.338440,170.637329 256.545135,169.256149 247.842560,169.468674
C238.302414,169.701630 228.822815,171.862457 219.280701,172.824982
C215.221130,173.234451 213.808914,175.022842 213.863144,178.894470
C213.986694,187.714676 213.897949,196.537811 213.903442,205.359756
C213.910675,216.986603 213.913971,216.986603 226.487503,216.974564
M371.632660,365.118713
C381.424042,345.942200 385.693726,325.563324 385.051239,304.081818
C384.964478,301.180969 383.989960,299.849487 380.932770,299.875000
C369.771881,299.968201 358.609558,299.951996 347.448334,299.881836
C344.922424,299.865967 343.778198,300.760101 343.869568,303.373566
C343.985901,306.701233 343.720398,310.047455 343.936829,313.364960
C344.170837,316.951538 342.598175,318.032654 339.218903,317.908264
C334.061554,317.718414 328.889465,317.957428 323.728760,317.820557
C320.936859,317.746521 319.866180,318.788818 319.924011,321.600494
C320.054138,327.928345 319.546234,334.296967 320.086914,340.581085
C320.648438,347.107666 318.824554,352.320465 313.837555,356.393951
C310.164734,359.394012 310.566040,361.822052 314.039948,364.807373
C325.376099,374.549133 336.565674,384.462585 347.740448,394.390106
C349.794861,396.215210 351.391815,396.552277 353.008698,394.046967
C359.091980,384.621399 365.184479,375.201752 371.632660,365.118713
M186.296997,184.796967
C184.926163,185.393723 183.470947,185.849045 182.197357,186.608795
C167.070114,195.632812 153.923645,207.067444 142.476791,220.361557
C138.408340,225.086548 135.374069,230.716568 131.994080,236.014099
C130.109818,238.967316 130.255890,240.968063 134.605942,240.938873
C147.591537,240.851669 160.578583,240.847214 173.563965,240.950241
C176.742004,240.975479 178.128967,239.867004 178.034958,236.601685
C177.891266,231.611160 178.113876,226.609787 177.958542,221.619965
C177.850693,218.155563 179.285690,216.838531 182.705704,216.951675
C187.694931,217.116745 192.694534,216.938385 197.688019,217.016098
C200.234314,217.055710 201.883636,216.375702 201.872711,213.440521
C201.834320,203.118408 201.879013,192.795975 201.834946,182.473907
C201.821243,179.267227 200.385544,178.290359 197.347672,179.755463
C193.926743,181.405304 190.417450,182.871918 186.296997,184.796967
M225.850571,243.511566
C225.844101,239.850021 225.845657,236.188461 225.828674,232.526962
C225.814957,229.571564 224.751968,227.996597 221.357635,228.065796
C212.420013,228.248016 203.474976,228.191528 194.535095,228.068909
C191.428589,228.026306 189.913940,229.020706 189.947632,232.335815
C190.044022,241.821625 190.036285,251.309631 189.943573,260.795532
C189.913849,263.838531 191.235840,264.908844 194.160797,264.880554
C203.147461,264.793610 212.135818,264.800751 221.122803,264.868164
C224.538055,264.893768 225.924988,263.292877 225.876480,259.985229
C225.800842,254.826813 225.853745,249.666519 225.850571,243.511566
M298.077362,270.182892
C297.428864,271.404083 296.238220,272.616486 296.218140,273.847900
C296.066223,283.176270 296.134796,292.508362 296.154602,301.839264
C296.161285,304.975830 297.761932,306.195587 300.892853,306.156067
C309.889160,306.042542 318.889404,306.018890 327.884705,306.165649
C331.152313,306.218964 332.291229,304.989594 332.245544,301.777557
C332.115204,292.615051 332.092163,283.447510 332.259125,274.286194
C332.318237,271.040771 331.254395,269.881866 327.968079,269.939819
C318.306885,270.110229 308.641083,270.019623 298.077362,270.182892
M213.899841,376.368378
C213.900818,383.921570 213.900803,383.913757 221.593216,383.904236
C229.089645,383.894958 236.589188,383.777710 244.081223,383.960114
C247.616165,384.046234 249.246704,383.055389 249.161179,379.197662
C248.958115,370.039734 248.978851,360.872498 249.137848,351.713013
C249.199341,348.170959 247.779343,347.059479 244.395584,347.118408
C235.902191,347.266418 227.400177,347.324707 218.910355,347.095581
C214.866028,346.986450 213.723007,348.598572 213.830658,352.408661
C214.047012,360.065643 213.898117,367.732941 213.899841,376.368378
z"/>
<path class="no-fill" fill="#e4e9ed" opacity="1.000000" stroke="none"
d="
M274.042084,440.210175
C236.151672,446.465576 201.547028,439.395081 170.330887,417.519104
C158.418747,409.171173 148.201752,398.933044 139.477402,387.223145
C137.599960,384.703308 137.509918,382.761627 139.847458,380.762756
C150.701157,371.481476 161.500671,362.133209 172.549179,353.089386
C173.586334,352.240356 176.908386,352.630096 178.016281,353.671570
C185.297485,360.516357 192.408722,367.561646 199.211716,374.879639
C200.654022,376.431122 201.096054,379.369720 201.142395,381.686310
C201.409409,395.035522 201.322189,395.038605 214.788040,395.042053
C228.452301,395.045563 242.116608,395.068176 255.780792,395.036896
C261.131378,395.024628 261.885437,394.207397 261.144836,388.894226
C260.570435,384.773285 262.160400,382.983582 266.311798,383.047882
C272.975677,383.151093 279.663574,383.376953 286.296600,382.912292
C288.702576,382.743774 291.539978,381.272888 293.226166,379.492371
C304.823242,367.246796 301.925537,369.147339 311.618439,378.008453
C320.201111,385.854614 328.932892,393.540649 337.709656,401.169861
C341.099976,404.116913 341.795715,405.725067 337.661896,409.407410
C321.399200,423.894073 302.473633,432.888306 281.745422,438.603668
C279.358032,439.261932 276.895966,439.649353 274.042084,440.210175
z"/>
<path class="no-fill" fill="#e4e9ed" opacity="1.000000" stroke="none"
d="
M233.000000,336.023010
C223.836029,336.024445 215.165955,336.218903 206.510696,335.944946
C202.250824,335.810150 200.948715,337.400299 201.169266,341.455719
C201.438599,346.408020 201.233368,351.386139 201.233368,356.795410
C200.081741,356.477173 199.324295,356.500122 198.961853,356.133087
C192.880356,349.973999 186.720444,343.882721 180.892258,337.489777
C179.382843,335.834106 178.338882,333.252716 178.143311,331.004150
C177.726166,326.208038 178.126663,321.347137 177.956619,316.521088
C177.836395,313.108643 179.108963,311.742523 182.610001,311.807495
C191.270996,311.968231 199.940842,311.707977 208.599182,311.928925
C212.545502,312.029694 213.988983,310.501892 213.937500,306.693878
C213.822647,298.198090 214.034119,289.696655 213.840897,281.203705
C213.754272,277.396240 214.893097,275.654480 218.956528,275.945038
C222.935547,276.229584 226.949677,276.019287 230.948380,276.033264
C237.575760,276.056458 237.845459,275.786621 237.859970,268.919373
C237.868408,264.920654 238.046722,260.910095 237.798965,256.926636
C237.576630,253.351913 238.575317,251.835114 242.491821,251.957062
C251.147537,252.226547 259.825928,251.839676 268.474884,252.202133
C270.573883,252.290100 273.170746,253.772110 274.535156,255.436020
C277.678345,259.269165 280.410339,263.489410 282.892334,267.792999
C284.068024,269.831543 284.813416,272.412811 284.851990,274.763000
C285.046112,286.589478 284.916229,298.420898 284.952667,310.250427
C284.978638,318.679932 283.999756,317.796783 292.300049,317.850220
C296.465271,317.877014 300.634216,317.969086 304.794952,317.832214
C307.843079,317.731903 308.940643,319.065887 308.903290,322.004150
C308.809998,329.334015 309.019470,336.671143 308.759674,343.993042
C308.697052,345.758453 307.673859,347.848846 306.426514,349.152771
C300.093414,355.773041 293.718719,362.378296 286.956451,368.548065
C284.950470,370.378296 281.713837,371.228546 278.902161,371.701385
C276.183624,372.158508 273.260010,371.746429 270.471802,371.375519
C261.087372,370.127258 261.093719,370.069214 261.090210,360.234344
C261.087921,353.902985 260.934143,347.566315 261.148773,341.242249
C261.279297,337.397217 259.986053,335.832947 255.991257,335.954651
C248.500427,336.182892 240.997757,336.022003 233.000000,336.023010
z"/>
<path class="no-fill" fill="#e4e9ed" opacity="1.000000" stroke="none"
d="
M225.998260,216.975098
C213.913971,216.986603 213.910675,216.986603 213.903442,205.359756
C213.897949,196.537811 213.986694,187.714676 213.863144,178.894470
C213.808914,175.022842 215.221130,173.234451 219.280701,172.824982
C228.822815,171.862457 238.302414,169.701630 247.842560,169.468674
C256.545135,169.256149 265.338440,170.637329 274.007111,171.898193
C279.870422,172.750992 285.569855,174.688721 291.375214,175.996246
C295.408844,176.904739 297.106903,179.041595 296.979675,183.362503
C296.705475,192.675598 297.149567,202.012863 296.761719,211.317810
C296.641174,214.209595 294.830353,217.045822 293.695282,219.868042
C293.466125,220.437729 292.791443,220.826767 292.326508,221.303314
C271.669800,242.475281 271.671997,242.431732 242.108658,240.970367
C238.831314,240.808350 237.706879,239.568451 237.815445,236.425873
C237.970520,231.936935 237.611343,227.420914 237.932877,222.949615
C238.261978,218.372772 236.626938,216.392303 231.976410,216.934296
C230.169739,217.144852 228.318466,216.972504 225.998260,216.975098
z"/>
<path class="no-fill" fill="#e4e9ed" opacity="1.000000" stroke="none"
d="
M371.453094,365.449280
C365.184479,375.201752 359.091980,384.621399 353.008698,394.046967
C351.391815,396.552277 349.794861,396.215210 347.740448,394.390106
C336.565674,384.462585 325.376099,374.549133 314.039948,364.807373
C310.566040,361.822052 310.164734,359.394012 313.837555,356.393951
C318.824554,352.320465 320.648438,347.107666 320.086914,340.581085
C319.546234,334.296967 320.054138,327.928345 319.924011,321.600494
C319.866180,318.788818 320.936859,317.746521 323.728760,317.820557
C328.889465,317.957428 334.061554,317.718414 339.218903,317.908264
C342.598175,318.032654 344.170837,316.951538 343.936829,313.364960
C343.720398,310.047455 343.985901,306.701233 343.869568,303.373566
C343.778198,300.760101 344.922424,299.865967 347.448334,299.881836
C358.609558,299.951996 369.771881,299.968201 380.932770,299.875000
C383.989960,299.849487 384.964478,301.180969 385.051239,304.081818
C385.693726,325.563324 381.424042,345.942200 371.453094,365.449280
z"/>
<path class="no-fill" fill="#e4e9ed" opacity="1.000000" stroke="none"
d="
M186.621796,184.607605
C190.417450,182.871918 193.926743,181.405304 197.347672,179.755463
C200.385544,178.290359 201.821243,179.267227 201.834946,182.473907
C201.879013,192.795975 201.834320,203.118408 201.872711,213.440521
C201.883636,216.375702 200.234314,217.055710 197.688019,217.016098
C192.694534,216.938385 187.694931,217.116745 182.705704,216.951675
C179.285690,216.838531 177.850693,218.155563 177.958542,221.619965
C178.113876,226.609787 177.891266,231.611160 178.034958,236.601685
C178.128967,239.867004 176.742004,240.975479 173.563965,240.950241
C160.578583,240.847214 147.591537,240.851669 134.605942,240.938873
C130.255890,240.968063 130.109818,238.967316 131.994080,236.014099
C135.374069,230.716568 138.408340,225.086548 142.476791,220.361557
C153.923645,207.067444 167.070114,195.632812 182.197357,186.608795
C183.470947,185.849045 184.926163,185.393723 186.621796,184.607605
z"/>
<path class="no-fill" fill="#e4e9ed" opacity="1.000000" stroke="none"
d="
M225.851379,244.009308
C225.853745,249.666519 225.800842,254.826813 225.876480,259.985229
C225.924988,263.292877 224.538055,264.893768 221.122803,264.868164
C212.135818,264.800751 203.147461,264.793610 194.160797,264.880554
C191.235840,264.908844 189.913849,263.838531 189.943573,260.795532
C190.036285,251.309631 190.044022,241.821625 189.947632,232.335815
C189.913940,229.020706 191.428589,228.026306 194.535095,228.068909
C203.474976,228.191528 212.420013,228.248016 221.357635,228.065796
C224.751968,227.996597 225.814957,229.571564 225.828674,232.526962
C225.845657,236.188461 225.844101,239.850021 225.851379,244.009308
z"/>
<path class="no-fill" fill="#e4e9ed" opacity="1.000000" stroke="none"
d="
M298.527222,270.107056
C308.641083,270.019623 318.306885,270.110229 327.968079,269.939819
C331.254395,269.881866 332.318237,271.040771 332.259125,274.286194
C332.092163,283.447510 332.115204,292.615051 332.245544,301.777557
C332.291229,304.989594 331.152313,306.218964 327.884705,306.165649
C318.889404,306.018890 309.889160,306.042542 300.892853,306.156067
C297.761932,306.195587 296.161285,304.975830 296.154602,301.839264
C296.134796,292.508362 296.066223,283.176270 296.218140,273.847900
C296.238220,272.616486 297.428864,271.404083 298.527222,270.107056
z"/>
<path class="no-fill" fill="#e4e9ed" opacity="1.000000" stroke="none"
d="
M213.899902,375.882202
C213.898117,367.732941 214.047012,360.065643 213.830658,352.408661
C213.723007,348.598572 214.866028,346.986450 218.910355,347.095581
C227.400177,347.324707 235.902191,347.266418 244.395584,347.118408
C247.779343,347.059479 249.199341,348.170959 249.137848,351.713013
C248.978851,360.872498 248.958115,370.039734 249.161179,379.197662
C249.246704,383.055389 247.616165,384.046234 244.081223,383.960114
C236.589188,383.777710 229.089645,383.894958 221.593216,383.904236
C213.900803,383.913757 213.900818,383.921570 213.899902,375.882202
z"/>
</svg>

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -32,7 +32,7 @@ import {
GlobalStyles, GlobalStyles,
} from './styles'; } from './styles';
export const SimpleCmsUiDefault = { export const StaticCmsUiDefault = {
Dropdown, Dropdown,
DropdownItem, DropdownItem,
DropdownCheckedItem, DropdownCheckedItem,

View File

@ -8,5 +8,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetBoolean = { Widget, controlComponent }; export const StaticCmsWidgetBoolean = { Widget, controlComponent };
export default SimpleCmsWidgetBoolean; export default StaticCmsWidgetBoolean;

View File

@ -14,5 +14,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetCode = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetCode = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetCode; export default StaticCmsWidgetCode;

View File

@ -10,5 +10,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetColorString = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetColorString = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetColorString; export default StaticCmsWidgetColorString;

View File

@ -12,5 +12,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetDatetime = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetDatetime = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetDatetime; export default StaticCmsWidgetDatetime;

View File

@ -14,5 +14,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetFile = { Widget, controlComponent, previewComponent, withFileControl }; export const StaticCmsWidgetFile = { Widget, controlComponent, previewComponent, withFileControl };
export default SimpleCmsWidgetFile; export default StaticCmsWidgetFile;

View File

@ -158,7 +158,7 @@ function valueListToArray(value) {
const warnDeprecatedOptions = once(field => const warnDeprecatedOptions = once(field =>
console.warn(oneLine` console.warn(oneLine`
Simple CMS config: ${field.get('name')} field: property "options" has been deprecated for the Static CMS config: ${field.get('name')} field: property "options" has been deprecated for the
${field.get('widget')} widget and will be removed in the next major release. Rather than ${field.get('widget')} widget and will be removed in the next major release. Rather than
\`field.options.media_library\`, apply media library options for this widget under \`field.options.media_library\`, apply media library options for this widget under
\`field.media_library\`. \`field.media_library\`.

View File

@ -1,8 +1,8 @@
import SimpleCmsWidgetFile from '../file'; import StaticCmsWidgetFile from '../file';
import previewComponent from './ImagePreview'; import previewComponent from './ImagePreview';
import schema from './schema'; import schema from './schema';
const controlComponent = SimpleCmsWidgetFile.withFileControl({ forImage: true }); const controlComponent = StaticCmsWidgetFile.withFileControl({ forImage: true });
function Widget(opts = {}) { function Widget(opts = {}) {
return { return {
@ -14,5 +14,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetImage = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetImage = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetImage; export default StaticCmsWidgetImage;

View File

@ -16,7 +16,7 @@ import {
FieldLabel, FieldLabel,
} from '../../ui'; } from '../../ui';
import { stringTemplate, validations } from '../../lib/widgets'; import { stringTemplate, validations } from '../../lib/widgets';
import SimpleCmsWidgetObject from '../object'; import StaticCmsWidgetObject from '../object';
import { import {
TYPES_KEY, TYPES_KEY,
getTypedFieldForValue, getTypedFieldForValue,
@ -24,7 +24,7 @@ import {
getErrorMessageForTypedFieldAndValue, getErrorMessageForTypedFieldAndValue,
} from './typedListHelpers'; } from './typedListHelpers';
const ObjectControl = SimpleCmsWidgetObject.controlComponent; const ObjectControl = StaticCmsWidgetObject.controlComponent;
const ListItem = styled.div(); const ListItem = styled.div();

View File

@ -1,8 +1,8 @@
import SimpleCmsWidgetObject from '../object'; import StaticCmsWidgetObject from '../object';
import controlComponent from './ListControl'; import controlComponent from './ListControl';
import schema from './schema'; import schema from './schema';
const previewComponent = SimpleCmsWidgetObject.previewComponent; const previewComponent = StaticCmsWidgetObject.previewComponent;
function Widget(opts = {}) { function Widget(opts = {}) {
return { return {
@ -14,5 +14,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetList = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetList = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetList; export default StaticCmsWidgetList;

View File

@ -14,5 +14,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetMap = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetMap = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetMap; export default StaticCmsWidgetMap;

View File

@ -12,5 +12,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetMarkdown = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetMarkdown = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetMarkdown; export default StaticCmsWidgetMarkdown;

View File

@ -25,5 +25,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetNumber = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetNumber = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetNumber; export default StaticCmsWidgetNumber;

View File

@ -12,5 +12,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetObject = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetObject = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetObject; export default StaticCmsWidgetObject;

View File

@ -35,5 +35,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetRelation = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetRelation = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetRelation; export default StaticCmsWidgetRelation;

View File

@ -30,5 +30,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetSelect = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetSelect = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetSelect; export default StaticCmsWidgetSelect;

View File

@ -11,5 +11,5 @@ function Widget(opts = {}): CmsWidgetParam<string> {
}; };
} }
export const SimpleCmsWidgetString = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetString = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetString; export default StaticCmsWidgetString;

View File

@ -10,5 +10,5 @@ function Widget(opts = {}) {
}; };
} }
export const SimpleCmsWidgetText = { Widget, controlComponent, previewComponent }; export const StaticCmsWidgetText = { Widget, controlComponent, previewComponent };
export default SimpleCmsWidgetText; export default StaticCmsWidgetText;

View File

@ -16,7 +16,7 @@
"noUnusedParameters": true, "noUnusedParameters": true,
"baseUrl": "./", "baseUrl": "./",
"paths": { "paths": {
"@simplecms/simple-cms-core": ["./src"] "@staticcms/core": ["./src"]
} }
}, },
"include": ["**/src/**/*", "dev-test/index.js"], "include": ["**/src/**/*", "dev-test/index.js"],

View File

@ -2,7 +2,7 @@ const path = require('path');
const webpack = require('webpack'); const webpack = require('webpack');
const isProduction = process.env.NODE_ENV === 'production'; const isProduction = process.env.NODE_ENV === 'production';
const devServerPort = parseInt(process.env.SIMPLE_CMS_DEV_SERVER_PORT || `${8080}`); const devServerPort = parseInt(process.env.STATIC_CMS_DEV_SERVER_PORT || `${8080}`);
function moduleNameToPath(libName) { function moduleNameToPath(libName) {
return path.resolve(__dirname, 'node_modules', libName); return path.resolve(__dirname, 'node_modules', libName);
@ -66,9 +66,9 @@ module.exports = {
], ],
output: { output: {
path: path.resolve(__dirname, 'dist'), path: path.resolve(__dirname, 'dist'),
filename: 'simple-cms-core.js', filename: 'static-cms-core.js',
library: { library: {
name: 'SimpleCmsCore', name: 'StaticCmsCore',
type: 'umd', type: 'umd',
}, },
}, },

View File

@ -1,6 +1,6 @@
# Simple CMS Website & Docs # Static CMS Website & Docs
This directory builds simplecms.github.io/simple-cms. If you'd like to propose changes to the site or docs, you'll find the source files in here. This directory builds staticjscms.github.io/static-cms. If you'd like to propose changes to the site or docs, you'll find the source files in here.
## Local development ## Local development

View File

@ -1,10 +1,10 @@
--- ---
title: >- title: >-
Welcome to Simple CMS Welcome to Static CMS
author: Daniel Lautzenheiser author: Daniel Lautzenheiser
description: >- description: >-
Announcing the release of Simple CMS v1.0. Announcing the release of Static CMS v1.0.
twitter_image: /img/simple-cms.png twitter_image: /img/static-cms.png
date: 2022-10-30T12:00:00.000Z date: 2022-10-30T12:00:00.000Z
--- ---
Today were releasing Simple CMS 1.0! Today were releasing Static CMS 1.0!

View File

@ -3,13 +3,13 @@ group: Intro
weight: 3 weight: 3
title: Add to Your Site title: Add to Your Site
--- ---
You can adapt Simple CMS to a wide variety of projects. It works with any content written in markdown, JSON, YAML, or TOML files, stored in a repo on [GitHub](https://github.com/), [GitLab](https://about.gitlab.com/), or [Bitbucket](https://bitbucket.org). You can also create your own custom backend. You can adapt Static CMS to a wide variety of projects. It works with any content written in markdown, JSON, YAML, or TOML files, stored in a repo on [GitHub](https://github.com/), [GitLab](https://about.gitlab.com/), or [Bitbucket](https://bitbucket.org). You can also create your own custom backend.
This tutorial guides you through the steps for adding Simple CMS to a site that's built with a common [static site generator](https://www.staticgen.com/), like Jekyll, Hugo, Hexo, or Gatsby. Alternatively, you can [start from a template](../start-with-a-template) or dive right into [configuration options](../configuration-options). This tutorial guides you through the steps for adding Static CMS to a site that's built with a common [static site generator](https://www.staticgen.com/), like Jekyll, Hugo, Hexo, or Gatsby. Alternatively, you can [start from a template](../start-with-a-template) or dive right into [configuration options](../configuration-options).
## App File Structure ## App File Structure
A static `admin` folder contains all Simple CMS files, stored at the root of your published site. Where you store this folder in the source files depends on your static site generator. Here's the static file location for a few of the most popular static site generators: A static `admin` folder contains all Static CMS files, stored at the root of your published site. Where you store this folder in the source files depends on your static site generator. Here's the static file location for a few of the most popular static site generators:
| These generators | store static files in | | These generators | store static files in |
| ------------------------------------------------------- | --------------------- | | ------------------------------------------------------- | --------------------- |
@ -26,7 +26,7 @@ A static `admin` folder contains all Simple CMS files, stored at the root of you
| preact-cli | `/src/static` | | preact-cli | `/src/static` |
| Docusaurus | `/static` | | Docusaurus | `/static` |
If your generator isn't listed here, you can check its documentation, or as a shortcut, look in your project for a `css` or `images` folder. The contents of folders like that are usually processed as static files, so it's likely you can store your `admin` folder next to those. (When you've found the location, feel free to add it to these docs by [filing a pull request](https://github.com/SimpleCMS/simple-cms/blob/main/CONTRIBUTING.md#pull-requests)!) If your generator isn't listed here, you can check its documentation, or as a shortcut, look in your project for a `css` or `images` folder. The contents of folders like that are usually processed as static files, so it's likely you can store your `admin` folder next to those. (When you've found the location, feel free to add it to these docs by [filing a pull request](https://github.com/StaticJsCMS/static-cms/blob/main/CONTRIBUTING.md#pull-requests)!)
Inside the `admin` folder, you'll create two files: Inside the `admin` folder, you'll create two files:
@ -36,7 +36,7 @@ admin
└ config.yml └ config.yml
``` ```
The first file, `admin/index.html`, is the entry point for the Simple CMS admin interface. This means that users navigate to `yoursite.com/admin/` to access it. On the code side, it's a basic HTML starter page that loads the Simple CMS JavaScript file. The second file, `admin/config.yml`, is the heart of your Simple CMS installation, and a bit more complex. The [Configuration](#configuration) section covers the details. The first file, `admin/index.html`, is the entry point for the Static CMS admin interface. This means that users navigate to `yoursite.com/admin/` to access it. On the code side, it's a basic HTML starter page that loads the Static CMS JavaScript file. The second file, `admin/config.yml`, is the heart of your Static CMS installation, and a bit more complex. The [Configuration](#configuration) section covers the details.
In this example, we pull the `admin/index.html` file from a public CDN. In this example, we pull the `admin/index.html` file from a public CDN.
@ -49,26 +49,26 @@ In this example, we pull the `admin/index.html` file from a public CDN.
<title>Content Manager</title> <title>Content Manager</title>
</head> </head>
<body> <body>
<!-- Include the script that builds the page and powers Simple CMS --> <!-- Include the script that builds the page and powers Static CMS -->
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
</body> </body>
</html> </html>
``` ```
In the code above the `script` is loaded from the `unpkg` CDN. Should there be any issue, `jsDelivr` can be used as an alternative source. Simply set the `src` to `https://cdn.jsdelivr.net/npm/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js` In the code above the `script` is loaded from the `unpkg` CDN. Should there be any issue, `jsDelivr` can be used as an alternative source. Simply set the `src` to `https://cdn.jsdelivr.net/npm/@staticcms/core@%5E0.1.0/dist/static-cms-core.js`
### Installing with npm ### Installing with npm
You can also use Simple CMS as an npm module. Wherever you import Simple CMS, it automatically runs, taking over the current page. Make sure the script that imports it only runs on your CMS page. First install the package and save it to your project: You can also use Static CMS as an npm module. Wherever you import Static CMS, it automatically runs, taking over the current page. Make sure the script that imports it only runs on your CMS page. First install the package and save it to your project:
```bash ```bash
npm install @simplecms/simple-cms-core --save npm install @staticcms/core --save
``` ```
Then import it (assuming your project has tooling for imports): Then import it (assuming your project has tooling for imports):
```js ```js
import CMS from '@simplecms/simple-cms-core' import CMS from '@staticcms/core'
// Initialize the CMS object // Initialize the CMS object
CMS.init() CMS.init()
// Now the registry is available via the CMS object. // Now the registry is available via the CMS object.
@ -83,7 +83,7 @@ Configuration is different for every site, so we'll break it down into parts. A
We're using [Netlify](https://www.netlify.com) for our hosting and authentication in this tutorial, so backend configuration is fairly straightforward. We're using [Netlify](https://www.netlify.com) for our hosting and authentication in this tutorial, so backend configuration is fairly straightforward.
For GitHub and GitLab repositories, you can start your Simple CMS `config.yml` file with these lines: For GitHub and GitLab repositories, you can start your Static CMS `config.yml` file with these lines:
```yaml ```yaml
backend: backend:
@ -97,7 +97,7 @@ The configuration above specifies your backend protocol and your publication bra
### Media and Public Folders ### Media and Public Folders
Simple CMS allows users to upload images directly within the editor. For this to work, the CMS needs to know where to save them. If you already have an `images` folder in your project, you could use its path, possibly creating an `uploads` sub-folder, for example: Static CMS allows users to upload images directly within the editor. For this to work, the CMS needs to know where to save them. If you already have an `images` folder in your project, you could use its path, possibly creating an `uploads` sub-folder, for example:
```yaml ```yaml
# This line should *not* be indented # This line should *not* be indented
@ -116,7 +116,7 @@ public_folder: "/images/uploads" # The src attribute for uploaded media will beg
The configuration above adds a new setting, `public_folder`. While `media_folder` specifies where uploaded files are saved in the repo, `public_folder` indicates where they are found in the published site. Image `src` attributes use this path, which is relative to the file where it's called. For this reason, we usually start the path at the site root, using the opening `/`. The configuration above adds a new setting, `public_folder`. While `media_folder` specifies where uploaded files are saved in the repo, `public_folder` indicates where they are found in the published site. Image `src` attributes use this path, which is relative to the file where it's called. For this reason, we usually start the path at the site root, using the opening `/`.
*If `public_folder` is not set, Simple CMS defaults to the same value as `media_folder`, adding an opening `/` if one is not included.* *If `public_folder` is not set, Static CMS defaults to the same value as `media_folder`, adding an opening `/` if one is not included.*
### Collections ### Collections
@ -136,7 +136,7 @@ rating: 5
This is the post body, where I write about our last chance to party before the Y2K bug destroys us all. This is the post body, where I write about our last chance to party before the Y2K bug destroys us all.
``` ```
Given this example, our `collections` settings would look like this in your Simple CMS `config.yml` file: Given this example, our `collections` settings would look like this in your Static CMS `config.yml` file:
```yaml ```yaml
collections: collections:
@ -194,7 +194,7 @@ Let's break that down:
As described above, the `widget` property specifies a built-in or custom UI widget for a given field. When a content editor enters a value into a widget, that value is saved in the document front matter as the value for the `name` specified for that field. A full listing of available widgets can be found in the [Widgets doc](../widgets). As described above, the `widget` property specifies a built-in or custom UI widget for a given field. When a content editor enters a value into a widget, that value is saved in the document front matter as the value for the `name` specified for that field. A full listing of available widgets can be found in the [Widgets doc](../widgets).
Based on this example, you can go through the post types in your site and add the appropriate settings to your Simple CMS `config.yml` file. Each post type should be listed as a separate node under the `collections` field. See the [Collections reference doc](../configuration-options/#collections) for more configuration options. Based on this example, you can go through the post types in your site and add the appropriate settings to your Static CMS `config.yml` file. Each post type should be listed as a separate node under the `collections` field. See the [Collections reference doc](../configuration-options/#collections) for more configuration options.
### Filter ### Filter
@ -214,7 +214,7 @@ collections:
## Authentication ## Authentication
Now that you have your Simple CMS files in place and configured, all that's left is to enable authentication. We're using the [Netlify](https://www.netlify.com/) platform here because it's one of the quickest ways to get started, but you can learn about other authentication options in the [Backends](/docs/backends-overview) doc. Now that you have your Static CMS files in place and configured, all that's left is to enable authentication. We're using the [Netlify](https://www.netlify.com/) platform here because it's one of the quickest ways to get started, but you can learn about other authentication options in the [Backends](/docs/backends-overview) doc.
### Setup on Netlify ### Setup on Netlify
@ -265,6 +265,6 @@ If you set your registration preference to "Invite only," invite yourself (and a
If you left your site registration open, or for return visits after confirming an email invitation, access your site's CMS at `yoursite.com/admin/`. If you left your site registration open, or for return visits after confirming an email invitation, access your site's CMS at `yoursite.com/admin/`.
**Note:** No matter where you access Simple CMS — whether running locally, in a staging environment, or in your published site — it always fetches and commits files in your hosted repository (for example, on GitHub), on the branch you configured in your Simple CMS config.yml file. This means that content fetched in the admin UI matches the content in the repository, which may be different from your locally running site. It also means that content saved using the admin UI saves directly to the hosted repository, even if you're running the UI locally or in staging. **Note:** No matter where you access Static CMS — whether running locally, in a staging environment, or in your published site — it always fetches and commits files in your hosted repository (for example, on GitHub), on the branch you configured in your Static CMS config.yml file. This means that content fetched in the admin UI matches the content in the repository, which may be different from your locally running site. It also means that content saved using the admin UI saves directly to the hosted repository, even if you're running the UI locally or in staging.
Happy posting! Happy posting!

View File

@ -5,7 +5,7 @@ group: Contributing
weight: 200 weight: 200
--- ---
Simple CMS is a React application, using Redux for state management with immutable data structures (immutable.js). Static CMS is a React application, using Redux for state management with immutable data structures (immutable.js).
The core abstractions for content editing are `collections`, `entries`, and `widgets`. The core abstractions for content editing are `collections`, `entries`, and `widgets`.

View File

@ -6,7 +6,7 @@ title: Azure
For repositories stored on Azure, the `azure` backend allows CMS users to log in directly with their Azure account. Note that all users must have write access to your content repository for this to work. For repositories stored on Azure, the `azure` backend allows CMS users to log in directly with their Azure account. Note that all users must have write access to your content repository for this to work.
In order to get Simple CMS working with Azure DevOps, you need a Tenant Id and an Application Id. In order to get Static CMS working with Azure DevOps, you need a Tenant Id and an Application Id.
1. If you do not have an Azure account, [create one here](https://azure.microsoft.com/en-us/free/?WT.mc_id=A261C142F) and make sure to have a credit card linked to the account. 1. If you do not have an Azure account, [create one here](https://azure.microsoft.com/en-us/free/?WT.mc_id=A261C142F) and make sure to have a credit card linked to the account.
2. If you do not have an Azure Active Directory Tenant Id, [set one up here](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-create-new-tenant). 2. If you do not have an Azure Active Directory Tenant Id, [set one up here](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-create-new-tenant).
@ -15,7 +15,7 @@ In order to get Simple CMS working with Azure DevOps, you need a Tenant Id and a
5. [Grant admin consent](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-configure-app-access-web-apis#admin-consent-button) for the application. 5. [Grant admin consent](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-configure-app-access-web-apis#admin-consent-button) for the application.
6. Under `Authentication->Implicit grant` enable [Access tokens](https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens) for the application and click `Save`. 6. Under `Authentication->Implicit grant` enable [Access tokens](https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens) for the application and click `Save`.
7. Verify your Azure DevOps organization is connected to the same directory as your tenant under: `https://dev.azure.com/<organization>/_settings/organizationAad` 7. Verify your Azure DevOps organization is connected to the same directory as your tenant under: `https://dev.azure.com/<organization>/_settings/organizationAad`
8. Add the following lines to your Simple CMS `config.yml` file: 8. Add the following lines to your Static CMS `config.yml` file:
```yaml ```yaml
backend: backend:

View File

@ -4,7 +4,7 @@ weight: 1
title: Overview title: Overview
--- ---
A backend is JavaScript code that allows Simple CMS to communicate with a service that stores content - typically a Git host like GitHub or GitLab. It provides functions that Simple CMS can use to do things like read and update files using API's provided by the service. A backend is JavaScript code that allows Static CMS to communicate with a service that stores content - typically a Git host like GitHub or GitLab. It provides functions that Static CMS can use to do things like read and update files using API's provided by the service.
## Backend Configuration ## Backend Configuration
@ -21,4 +21,4 @@ Individual backends should provide their own configuration documentation, but th
## Creating a New Backend ## Creating a New Backend
Anyone can write a backend, but we don't yet have a finalized and documented API. If you would like to write your own backend for a service that does not have one currently, we recommend using the [GitHub backend](https://github.com/SimpleCMS/simple-cms/tree/main/src/backends/github) as a reference for API and best practices. Anyone can write a backend, but we don't yet have a finalized and documented API. If you would like to write your own backend for a service that does not have one currently, we recommend using the [GitHub backend](https://github.com/StaticJsCMS/static-cms/tree/main/src/backends/github) as a reference for API and best practices.

View File

@ -9,7 +9,7 @@ We run new functionality in an open beta format from time to time. That means th
## Working with a Local Git Repository ## Working with a Local Git Repository
You can connect Simple CMS to a local Git repository, instead of working with a live repo. You can connect Static CMS to a local Git repository, instead of working with a live repo.
1. Navigate to a local Git repository configured with the CMS. 1. Navigate to a local Git repository configured with the CMS.
2. Add the top-level property `local_backend` configuration to your `config.yml`: 2. Add the top-level property `local_backend` configuration to your `config.yml`:
@ -30,7 +30,7 @@ local_backend: true
**Note:** `netlify-cms-proxy-server` runs an unauthenticated express server. As any client can send requests to the server, it should only be used for local development. **Note:** `netlify-cms-proxy-server` runs an unauthenticated express server. As any client can send requests to the server, it should only be used for local development.
### Configure the Simple CMS proxy server port number ### Configure the Static CMS proxy server port number
1. Create a `.env` file in the project's root folder and define the PORT you'd like the proxy server to use 1. Create a `.env` file in the project's root folder and define the PORT you'd like the proxy server to use
@ -292,7 +292,7 @@ Supports all of the [`slug` templates](/docs/configuration-options#slug) and:
## List Widget: Variable Types ## List Widget: Variable Types
Before this feature, the [list widget](/docs/widgets/#list) allowed a set of fields to be repeated, but every list item had the same set of fields available. With variable types, multiple named sets of fields can be defined, which opens the door to highly flexible content authoring (even page building) in Simple CMS. Before this feature, the [list widget](/docs/widgets/#list) allowed a set of fields to be repeated, but every list item had the same set of fields available. With variable types, multiple named sets of fields can be defined, which opens the door to highly flexible content authoring (even page building) in Static CMS.
**Note: this feature does not yet support default previews and requires [registering a preview template](/docs/customization#registerpreviewtemplate) in order to show up in the preview pane.** **Note: this feature does not yet support default previews and requires [registering a preview template](/docs/customization#registerpreviewtemplate) in order to show up in the preview pane.**
@ -372,13 +372,13 @@ sections:
## Custom Mount Element ## Custom Mount Element
Simple CMS always creates its own DOM element for mounting the application, which means it always takes over the entire page, and is generally inflexible if you're trying to do something creative, like injecting it into a shared context. Static CMS always creates its own DOM element for mounting the application, which means it always takes over the entire page, and is generally inflexible if you're trying to do something creative, like injecting it into a shared context.
You can now provide your own element for Simple CMS to mount in by setting the target element's ID as `nc-root`. If Simple CMS finds an element with this ID during initialization, it will mount within that element instead of creating its own. You can now provide your own element for Static CMS to mount in by setting the target element's ID as `nc-root`. If Static CMS finds an element with this ID during initialization, it will mount within that element instead of creating its own.
## Manual Initialization ## Manual Initialization
Simple CMS can now be manually initialized, rather than automatically loading up the moment you import it. The whole point of this at the moment is to inject configuration into Simple CMS before it loads, bypassing need for an actual Simple CMS `config.yml`. This is important, for example, when creating tight integrations with static site generators. Static CMS can now be manually initialized, rather than automatically loading up the moment you import it. The whole point of this at the moment is to inject configuration into Static CMS before it loads, bypassing need for an actual Static CMS `config.yml`. This is important, for example, when creating tight integrations with static site generators.
Manual initialization works by setting `window.CMS_MANUAL_INIT = true` **before importing the CMS**: Manual initialization works by setting `window.CMS_MANUAL_INIT = true` **before importing the CMS**:
@ -386,12 +386,12 @@ Manual initialization works by setting `window.CMS_MANUAL_INIT = true` **before
// This global flag enables manual initialization. // This global flag enables manual initialization.
window.CMS_MANUAL_INIT = true window.CMS_MANUAL_INIT = true
// Usage with import from npm package // Usage with import from npm package
import CMS, { init } from '@simplecms/simple-cms-core' import CMS, { init } from '@staticcms/core'
// Usage with script tag // Usage with script tag
const { CMS, initCMS: init } = window const { CMS, initCMS: init } = window
/** /**
* Initialize without passing in config - equivalent to just importing * Initialize without passing in config - equivalent to just importing
* Simple CMS the old way. * Static CMS the old way.
*/ */
init() init()
/** /**
@ -451,18 +451,18 @@ CMS.registerPreviewTemplate(...);
* Assumes a webpack project with `sass-loader` and `css-loader` installed. * Assumes a webpack project with `sass-loader` and `css-loader` installed.
* Takes advantage of the `toString` method in the return value of `css-loader`. * Takes advantage of the `toString` method in the return value of `css-loader`.
*/ */
import CMS from '@simplecms/simple-cms-core'; import CMS from '@staticcms/core';
import styles from '!css-loader!sass-loader!../main.scss'; import styles from '!css-loader!sass-loader!../main.scss';
CMS.registerPreviewStyle(styles.toString(), { raw: true }); CMS.registerPreviewStyle(styles.toString(), { raw: true });
``` ```
## Commit Message Templates ## Commit Message Templates
You can customize the templates used by Simple CMS to generate commit messages by setting the `commit_messages` option under `backend` in your Simple CMS `config.yml`. You can customize the templates used by Static CMS to generate commit messages by setting the `commit_messages` option under `backend` in your Static CMS `config.yml`.
Template tags wrapped in curly braces will be expanded to include information about the file changed by the commit. For example, `{{path}}` will include the full path to the file changed. Template tags wrapped in curly braces will be expanded to include information about the file changed by the commit. For example, `{{path}}` will include the full path to the file changed.
Setting up your Simple CMS `config.yml` to recreate the default values would look like this: Setting up your Static CMS `config.yml` to recreate the default values would look like this:
```yaml ```yaml
backend: backend:
@ -474,7 +474,7 @@ backend:
deleteMedia: Delete “{{path}}” deleteMedia: Delete “{{path}}”
``` ```
Simple CMS generates the following commit types: Static CMS generates the following commit types:
| Commit type | When is it triggered? | Available template tags | | Commit type | When is it triggered? | Available template tags |
| --------------- | ---------------------------------------- | ----------------------------------------------------------- | | --------------- | ---------------------------------------- | ----------------------------------------------------------- |

View File

@ -8,7 +8,7 @@ For repositories stored on Bitbucket, the `bitbucket` backend allows CMS users t
To enable it: To enable it:
1. Follow the authentication provider setup steps in the [Netlify docs](https://www.netlify.com/docs/authentication-providers/#using-an-authentication-provider). 1. Follow the authentication provider setup steps in the [Netlify docs](https://www.netlify.com/docs/authentication-providers/#using-an-authentication-provider).
2. Add the following lines to your Simple CMS `config.yml` file: 2. Add the following lines to your Static CMS `config.yml` file:
```yaml ```yaml
backend: backend:
@ -20,8 +20,8 @@ To enable it:
With Bitbucket's Implicit Grant, users can authenticate with Bitbucket directly from the client. To do this: With Bitbucket's Implicit Grant, users can authenticate with Bitbucket directly from the client. To do this:
1. Follow the [Atlassian docs](https://confluence.atlassian.com/bitbucket/oauth-on-bitbucket-cloud-238027431.html) to create an OAuth consumer. Make sure you allow `Account/Read` and `Repository/Write` permissions. For the **Callback URL**, enter the address where you access Simple CMS, for example, `https://www.mysite.com/admin/`. 1. Follow the [Atlassian docs](https://confluence.atlassian.com/bitbucket/oauth-on-bitbucket-cloud-238027431.html) to create an OAuth consumer. Make sure you allow `Account/Read` and `Repository/Write` permissions. For the **Callback URL**, enter the address where you access Static CMS, for example, `https://www.mysite.com/admin/`.
2. Bitbucket gives you a **Key**. Copy this Key and enter it in your Simple CMS `config.yml` file, along with the following settings: 2. Bitbucket gives you a **Key**. Copy this Key and enter it in your Static CMS `config.yml` file, along with the following settings:
```yaml ```yaml
backend: backend:

View File

@ -5,7 +5,7 @@ weight: 10
--- ---
Cloudinary is a digital asset management platform with a broad feature set, including support for responsive image generation and url based image transformation. They also provide a powerful media library UI for managing assets, and tools for organizing your assets into a hierarchy. Cloudinary is a digital asset management platform with a broad feature set, including support for responsive image generation and url based image transformation. They also provide a powerful media library UI for managing assets, and tools for organizing your assets into a hierarchy.
The Cloudinary media library integration for Simple CMS uses Cloudinary's own media library interface within Simple CMS. To get started, you'll need a Cloudinary account and Simple CMS 2.3.0 or greater. The Cloudinary media library integration for Static CMS uses Cloudinary's own media library interface within Static CMS. To get started, you'll need a Cloudinary account and Static CMS 2.3.0 or greater.
## Creating a Cloudinary Account ## Creating a Cloudinary Account
@ -13,9 +13,9 @@ You can [sign up for Cloudinary](https://cloudinary.com/users/register/free) for
![Cloudinary console screenshot](/img/cloudinary-console-details.png) ![Cloudinary console screenshot](/img/cloudinary-console-details.png)
## Connecting Cloudinary to Simple CMS ## Connecting Cloudinary to Static CMS
To use the Cloudinary media library within Simple CMS, you'll need to update your Simple CMS configuration file with the information from your Cloudinary account: To use the Cloudinary media library within Static CMS, you'll need to update your Static CMS configuration file with the information from your Cloudinary account:
```yaml ```yaml
media_library: media_library:
@ -25,14 +25,14 @@ media_library:
api_key: your_api_key api_key: your_api_key
``` ```
**Note:** The user must be logged in to the Cloudinary account connected to the `api_key` used in your Simple CMS configuration. **Note:** The user must be logged in to the Cloudinary account connected to the `api_key` used in your Static CMS configuration.
### Security Considerations ### Security Considerations
Although this setup exposes the `cloud_name` and `api_key` publicly via the `/admin/config.yml` endpoint, this information is not sensitive. Any integration of the Cloudinary media library requires this information to be exposed publicly. To use this library or use the restricted Cloudinary API endpoints, the user must have access to the Cloudinary account login details or the `api_secret` associated with the `cloud_name` and `api_key`. Although this setup exposes the `cloud_name` and `api_key` publicly via the `/admin/config.yml` endpoint, this information is not sensitive. Any integration of the Cloudinary media library requires this information to be exposed publicly. To use this library or use the restricted Cloudinary API endpoints, the user must have access to the Cloudinary account login details or the `api_secret` associated with the `cloud_name` and `api_key`.
## Simple CMS configuration options ## Static CMS configuration options
The following options are specific to the Simple CMS integration for Cloudinary: The following options are specific to the Static CMS integration for Cloudinary:
* **`output_filename_only`**: _(default: `false`)_\ * **`output_filename_only`**: _(default: `false`)_\
By default, the value provided for a selected image is a complete URL for the asset on Cloudinary's CDN. Setting `output_filename_only` to `true` will instead produce just the filename (e.g. `image.jpg`). This should be `true` if you will be directly embedding cloudinary transformation urls in page templates. Refer to [Inserting Cloudinary URL in page templates](#inserting-cloudinary-url-in-page-templates). By default, the value provided for a selected image is a complete URL for the asset on Cloudinary's CDN. Setting `output_filename_only` to `true` will instead produce just the filename (e.g. `image.jpg`). This should be `true` if you will be directly embedding cloudinary transformation urls in page templates. Refer to [Inserting Cloudinary URL in page templates](#inserting-cloudinary-url-in-page-templates).
@ -43,7 +43,7 @@ The following options are specific to the Simple CMS integration for Cloudinary:
## Cloudinary configuration options ## Cloudinary configuration options
The following options are used to configure the media library. All options are listed in Cloudinary's [media library documentation](https://cloudinary.com/documentation/media_library_widget#3_set_the_configuration_options), but only options listed below are available or recommended for the Simple CMS integration: The following options are used to configure the media library. All options are listed in Cloudinary's [media library documentation](https://cloudinary.com/documentation/media_library_widget#3_set_the_configuration_options), but only options listed below are available or recommended for the Static CMS integration:
### Authentication ### Authentication
@ -58,7 +58,7 @@ The following options are used to configure the media library. All options are l
## Image transformations ## Image transformations
The Cloudinary integration allows images to be transformed in two ways: directly within Simple CMS via [Cloudinary's Media Library](#transforming-images-via-media-library), and separately from the CMS via Cloudinary's [dynamic URL's](https://cloudinary.com/documentation/image_transformations#delivering_media_assets_using_dynamic_urls) by [inserting cloudinary urls](#inserting-cloudinary-url-in-page-templates). The Cloudinary integration allows images to be transformed in two ways: directly within Static CMS via [Cloudinary's Media Library](#transforming-images-via-media-library), and separately from the CMS via Cloudinary's [dynamic URL's](https://cloudinary.com/documentation/image_transformations#delivering_media_assets_using_dynamic_urls) by [inserting cloudinary urls](#inserting-cloudinary-url-in-page-templates).
### Transforming images via Media Library ### Transforming images via Media Library
If you transform and insert images from within the Cloudinary media library, the transformed image URL will be output by default. This gives the editor complete freedom to make changes to the image output. If you transform and insert images from within the Cloudinary media library, the transformed image URL will be output by default. This gives the editor complete freedom to make changes to the image output.

View File

@ -88,7 +88,7 @@ A `files` collection contains one or more uniquely configured files. Unlike item
When configuring a `files` collection, configure each file in the collection separately, and list them under the `files` field of the collection. Each file has its own list of `fields` and a unique filepath specified in the `file` field (relative to the base of the repo). When configuring a `files` collection, configure each file in the collection separately, and list them under the `files` field of the collection. Each file has its own list of `fields` and a unique filepath specified in the `file` field (relative to the base of the repo).
**Note:** Files listed in a file collection must already exist in the hosted repository branch set in your Simple CMS [backend configuration](/docs/backends-overview). Files must also have a valid value for the file type. For example, an empty file works as valid YAML, but a JSON file must have a non-empty value to be valid, such as an empty object. **Note:** Files listed in a file collection must already exist in the hosted repository branch set in your Static CMS [backend configuration](/docs/backends-overview). Files must also have a valid value for the file type. For example, an empty file works as valid YAML, but a JSON file must have a non-empty value to be valid, such as an empty object.
Example: Example:

View File

@ -5,7 +5,7 @@ title: Configuration Options
--- ---
## Configuration File ## Configuration File
All configuration options for Simple CMS are specified in a `config.yml` file, in the folder where you access the editor UI (usually in the `/admin` folder). All configuration options for Static CMS are specified in a `config.yml` file, in the folder where you access the editor UI (usually in the `/admin` folder).
Alternatively, you can specify a custom config file using a link tag: Alternatively, you can specify a custom config file using a link tag:
@ -14,7 +14,7 @@ Alternatively, you can specify a custom config file using a link tag:
<link href="path/to/config.yml" type="text/yaml" rel="cms-config-url"> <link href="path/to/config.yml" type="text/yaml" rel="cms-config-url">
``` ```
To see working configuration examples, you can [start from a template](../start-with-a-template) or check out the [CMS demo site](https://cms-demo.netlify.com). (No login required: click the login button and the CMS will open.) You can refer to the demo [configuration code](https://github.com/SimpleCMS/simple-cms/blob/master/dev-test/config.yml) to see how each option was configured. To see working configuration examples, you can [start from a template](../start-with-a-template) or check out the [CMS demo site](https://cms-demo.netlify.com). (No login required: click the login button and the CMS will open.) You can refer to the demo [configuration code](https://github.com/StaticJsCMS/static-cms/blob/master/dev-test/config.yml) to see how each option was configured.
You can find details about all configuration options below. Note that [YAML syntax](https://en.wikipedia.org/wiki/YAML#Basic_components) allows lists and objects to be written in block or inline style, and the code samples below include a mix of both. You can find details about all configuration options below. Note that [YAML syntax](https://en.wikipedia.org/wiki/YAML#Basic_components) allows lists and objects to be written in block or inline style, and the code samples below include a mix of both.
@ -24,11 +24,11 @@ You can find details about all configuration options below. Note that [YAML synt
The `backend` option specifies how to access the content for your site, including authentication. Full details and code samples can be found in [Backends](/docs/backends-overview). The `backend` option specifies how to access the content for your site, including authentication. Full details and code samples can be found in [Backends](/docs/backends-overview).
**Note**: no matter where you access Simple CMS — whether running locally, in a staging environment, or in your published site — it will always fetch and commit files in your hosted repository (for example, on GitHub), on the branch you configured in your Simple CMS config.yml file. This means that content fetched in the admin UI will match the content in the repository, which may be different from your locally running site. It also means that content saved using the admin UI will save directly to the hosted repository, even if you're running the UI locally or in staging. If you want to have your local CMS write to a local repository, try the `local_backend` setting, [currently in beta](/docs/beta-features/#working-with-a-local-git-repository). **Note**: no matter where you access Static CMS — whether running locally, in a staging environment, or in your published site — it will always fetch and commit files in your hosted repository (for example, on GitHub), on the branch you configured in your Static CMS config.yml file. This means that content fetched in the admin UI will match the content in the repository, which may be different from your locally running site. It also means that content saved using the admin UI will save directly to the hosted repository, even if you're running the UI locally or in staging. If you want to have your local CMS write to a local repository, try the `local_backend` setting, [currently in beta](/docs/beta-features/#working-with-a-local-git-repository).
## Media and Public Folders ## Media and Public Folders
Simple CMS users can upload files to your repository using the Media Gallery. The following settings specify where these files are saved, and where they can be accessed on your built site. Static CMS users can upload files to your repository using the Media Gallery. The following settings specify where these files are saved, and where they can be accessed on your built site.
### Media Folder ### Media Folder
@ -116,7 +116,7 @@ locale: 'de'
And in your custom JavaScript code: And in your custom JavaScript code:
```js ```js
import CMS, { de } from '@simplecms/simple-cms-core'; import CMS, { de } from '@staticcms/core';
CMS.registerLocale('de', de); CMS.registerLocale('de', de);
``` ```
@ -165,7 +165,7 @@ slug:
*This setting is required.* *This setting is required.*
The `collections` setting is the heart of your Simple CMS configuration, as it determines how content types and editor fields in the UI generate files and content in your repository. Each collection you configure displays in the left sidebar of the Content page of the editor UI, in the order they are entered into your Simple CMS `config.yml` file. The `collections` setting is the heart of your Static CMS configuration, as it determines how content types and editor fields in the UI generate files and content in your repository. Each collection you configure displays in the left sidebar of the Content page of the editor UI, in the order they are entered into your Static CMS `config.yml` file.
`collections` accepts a list of collection objects, each with the following options: `collections` accepts a list of collection objects, each with the following options:
@ -196,7 +196,7 @@ The last few options require more detailed information.
### `identifier_field` ### `identifier_field`
Simple CMS expects every entry to provide a field named `"title"` that serves as an identifier for the entry. The identifier field serves as an entry's title when viewing a list of entries, and is used in [slug](#slug) creation. If you would like to use a field other than `"title"` as the identifier, you can set `identifier_field` to the name of the other field. Static CMS expects every entry to provide a field named `"title"` that serves as an identifier for the entry. The identifier field serves as an entry's title when viewing a list of entries, and is used in [slug](#slug) creation. If you would like to use a field other than `"title"` as the identifier, you can set `identifier_field` to the name of the other field.
**Example** **Example**
@ -208,7 +208,7 @@ collections:
### `extension` and `format` ### `extension` and `format`
These settings determine how collection files are parsed and saved. Both are optional—Simple CMS will attempt to infer your settings based on existing items in the collection. If your collection is empty, or you'd like more control, you can set these fields explicitly. These settings determine how collection files are parsed and saved. Both are optional—Static CMS will attempt to infer your settings based on existing items in the collection. If your collection is empty, or you'd like more control, you can set these fields explicitly.
`extension` determines the file extension searched for when finding existing entries in a folder collection and it determines the file extension used to save new collection items. It accepts the following values: `yml`, `yaml`, `toml`, `json`, `md`, `markdown`, `html`. `extension` determines the file extension searched for when finding existing entries in a folder collection and it determines the file extension used to save new collection items. It accepts the following values: `yml`, `yaml`, `toml`, `json`, `md`, `markdown`, `html`.
@ -265,7 +265,7 @@ slug: "{{year}}-{{month}}-{{day}}_{{fields.slug}}"
### `fields` ### `fields`
The `fields` option maps editor UI widgets to field-value pairs in the saved file. The order of the fields in your Simple CMS `config.yml` file determines their order in the editor UI and in the saved file. The `fields` option maps editor UI widgets to field-value pairs in the saved file. The order of the fields in your Static CMS `config.yml` file determines their order in the editor UI and in the saved file.
`fields` accepts a list of collection objects, each with the following options: `fields` accepts a list of collection objects, each with the following options:

View File

@ -4,13 +4,13 @@ weight: 20
group: Contributing group: Contributing
--- ---
We're hoping that Simple CMS will do for the [Jamstack](https://www.jamstack.org) what WordPress did for dynamic sites back in the day. We know we can't do that without building a thriving community of contributors and users, and we'd love to have you join us. We're hoping that Static CMS will do for the [Jamstack](https://www.jamstack.org) what WordPress did for dynamic sites back in the day. We know we can't do that without building a thriving community of contributors and users, and we'd love to have you join us.
## Getting started with contributing ## Getting started with contributing
Being a developer is not a requirement for contributing to Simple CMS, you only need the desire, a web browser, and a [GitHub account](https://github.com/join). The GitHub repo has a step-by-step [guide](https://github.com/SimpleCMS/simple-cms/blob/master/CONTRIBUTING.md) to get started with the code. Being a developer is not a requirement for contributing to Static CMS, you only need the desire, a web browser, and a [GitHub account](https://github.com/join). The GitHub repo has a step-by-step [guide](https://github.com/StaticJsCMS/static-cms/blob/master/CONTRIBUTING.md) to get started with the code.
## The basics of the Simple CMS docs ## The basics of the Static CMS docs
The documentation for Simple CMS is written in [Markdown](http://daringfireball.net/projects/markdown/) (a good cheatsheet on Markdown is [here](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)), with the source residing on [GitHub](https://github.com/SimpleCMS/simple-cms) in the `/website/content/docs` folder. The documentation for Static CMS is written in [Markdown](http://daringfireball.net/projects/markdown/) (a good cheatsheet on Markdown is [here](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)), with the source residing on [GitHub](https://github.com/StaticJsCMS/static-cms) in the `/website/content/docs` folder.
The GitHub website allows you to submit issues, work with files, search for content, and browse changes that have been submitted in the past and those that are being submitted now (aka Pull Requests). The GitHub website allows you to submit issues, work with files, search for content, and browse changes that have been submitted in the past and those that are being submitted now (aka Pull Requests).
@ -18,18 +18,18 @@ The GitHub website allows you to submit issues, work with files, search for cont
A [style guide](/docs/writing-style-guide/) is available to help provide context around grammar, code styling, syntax, etc. A [style guide](/docs/writing-style-guide/) is available to help provide context around grammar, code styling, syntax, etc.
## Filing issues ## Filing issues
If you have a GitHub account, you can file an [issue](https://github.com/SimpleCMS/simple-cms/issues) (aka bug report) against the Simple CMS docs. Even if you're not able to, or don't know how to, fix the issue (see [Improve existing content](#improve-existing-content)), it helps to start the conversation. If you have a GitHub account, you can file an [issue](https://github.com/StaticJsCMS/static-cms/issues) (aka bug report) against the Static CMS docs. Even if you're not able to, or don't know how to, fix the issue (see [Improve existing content](#improve-existing-content)), it helps to start the conversation.
When filing an issue, it is important to remember the [Code of Conduct](https://github.com/SimpleCMS/simple-cms/blob/master/CODE_OF_CONDUCT.md). When filing an issue, it is important to remember the [Code of Conduct](https://github.com/StaticJsCMS/static-cms/blob/master/CODE_OF_CONDUCT.md).
## Improve existing content ## Improve existing content
If you are able to offer up a change to existing content, we welcome this. Once you've forked the repo, and changed the content, you would file a pull request (PR). The repo [Contributing file](https://github.com/SimpleCMS/simple-cms/blob/master/CONTRIBUTING.md) lays out the correct format for PRs. If you are able to offer up a change to existing content, we welcome this. Once you've forked the repo, and changed the content, you would file a pull request (PR). The repo [Contributing file](https://github.com/StaticJsCMS/static-cms/blob/master/CONTRIBUTING.md) lays out the correct format for PRs.
## Other places to get involved ## Other places to get involved
While we work on building this page (and you can help!), here are some links with more information about getting involved: While we work on building this page (and you can help!), here are some links with more information about getting involved:
* [Setup instructions and Contribution Guidelines](https://github.com/SimpleCMS/simple-cms/blob/master/CONTRIBUTING.md) * [Setup instructions and Contribution Guidelines](https://github.com/StaticJsCMS/static-cms/blob/master/CONTRIBUTING.md)
* [Join our Community Chat](https://simplecms.github.io/simple-cms/chat) * [Join our Community Chat](https://staticjscms.github.io/static-cms/chat)
* [Code of Conduct](https://github.com/SimpleCMS/simple-cms/blob/master/CODE_OF_CONDUCT.md) * [Code of Conduct](https://github.com/StaticJsCMS/static-cms/blob/master/CODE_OF_CONDUCT.md)
* [Project Milestones](https://github.com/SimpleCMS/simple-cms/milestones) * [Project Milestones](https://github.com/StaticJsCMS/static-cms/milestones)
* [Good First Issues](https://github.com/SimpleCMS/simple-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22good+first+issue%22+-label%3Aclaimed) * [Good First Issues](https://github.com/StaticJsCMS/static-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22good+first+issue%22+-label%3Aclaimed)

View File

@ -3,7 +3,7 @@ group: Fields
weight: 20 weight: 20
title: Creating Custom Widgets title: Creating Custom Widgets
--- ---
The Simple CMS exposes a `window.CMS` a global object that you can use to register custom widgets, previews, and editor plugins. The same object is also the default export if you import Simple CMS as an npm module. The available widget extension methods are: The Static CMS exposes a `window.CMS` a global object that you can use to register custom widgets, previews, and editor plugins. The same object is also the default export if you import Static CMS as an npm module. The available widget extension methods are:
* **registerWidget:** registers a custom widget. * **registerWidget:** registers a custom widget.
* **registerEditorComponent:** adds a block component to the Markdown editor. * **registerEditorComponent:** adds a block component to the Markdown editor.
@ -12,7 +12,7 @@ The Simple CMS exposes a `window.CMS` a global object that you can use to regist
The `registerWidget` requires you to provide a React component. If you have a build process in place for your project, it is possible to integrate with this build process. The `registerWidget` requires you to provide a React component. If you have a build process in place for your project, it is possible to integrate with this build process.
However, although possible, it may be cumbersome or even impractical to add a React build phase. For this reason, Simple CMS exposes two constructs globally to allow you to create components inline: createClass and h (alias for React.createElement). However, although possible, it may be cumbersome or even impractical to add a React build phase. For this reason, Static CMS exposes two constructs globally to allow you to create components inline: createClass and h (alias for React.createElement).
## `registerWidget` ## `registerWidget`
@ -23,7 +23,7 @@ Register a custom widget.
CMS.registerWidget(name, control, [preview], [schema]); CMS.registerWidget(name, control, [preview], [schema]);
// Using npm module import // Using npm module import
import CMS from '@simplecms/simple-cms-core'; import CMS from '@staticcms/core';
CMS.registerWidget(name, control, [preview], [schema]); CMS.registerWidget(name, control, [preview], [schema]);
``` ```
@ -41,7 +41,7 @@ CMS.registerWidget(name, control, [preview], [schema]);
`admin/index.html` `admin/index.html`
```html ```html
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
<script> <script>
var CategoriesControl = createClass({ var CategoriesControl = createClass({
handleChange: function(e) { handleChange: function(e) {
@ -116,7 +116,7 @@ CMS.registerEditorComponent(definition)
**Example:** **Example:**
```html ```html
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
<script> <script>
CMS.registerEditorComponent({ CMS.registerEditorComponent({
// Internal id of the component // Internal id of the component
@ -240,7 +240,7 @@ You can also return a promise from `isValid`. While the promise is pending, the
## Writing custom widgets as a separate package ## Writing custom widgets as a separate package
Widgets are inputs for the Simple CMS editor interface. It's a React component that receives user input and outputs a serialized value. Those are the only rules - the component can be extremely simple, like text input, or extremely complicated, like a full-blown markdown editor. They can make calls to external services, and generally do anything that JavaScript can do. Widgets are inputs for the Static CMS editor interface. It's a React component that receives user input and outputs a serialized value. Those are the only rules - the component can be extremely simple, like text input, or extremely complicated, like a full-blown markdown editor. They can make calls to external services, and generally do anything that JavaScript can do.
For writing custom widgets as a separate package you should follow these steps: For writing custom widgets as a separate package you should follow these steps:
@ -263,7 +263,7 @@ For writing custom widgets as a separate package you should follow these steps:
5. In order to build React components, we need to set up a build step. We'll be using Webpack. Please run the following commands to install the required dependencies: 5. In order to build React components, we need to set up a build step. We'll be using Webpack. Please run the following commands to install the required dependencies:
```javascript ```javascript
npm install --save-dev @simplecms/simple-cms-core babel-loader@7 babel-core babel-plugin-transform-class-properties babel-plugin-transform-export-extensions babel-plugin-transform-object-rest-spread babel-preset-env babel-preset-react cross-env css-loader html-webpack-plugin react source-map-loader style-loader webpack webpack-cli webpack-serve npm install --save-dev @staticcms/core babel-loader@7 babel-core babel-plugin-transform-class-properties babel-plugin-transform-export-extensions babel-plugin-transform-object-rest-spread babel-preset-env babel-preset-react cross-env css-loader html-webpack-plugin react source-map-loader style-loader webpack webpack-cli webpack-serve
``` ```
```javascript ```javascript
@ -276,23 +276,23 @@ Here is the content of `package.json` that you will have at the end:
```javascript ```javascript
{ {
"name": "simple-cms-widget-starter", "name": "static-cms-widget-starter",
"description": "A boilerplate for creating Simple CMS widgets.", "description": "A boilerplate for creating Static CMS widgets.",
"author": "name of developer", "author": "name of developer",
"keywords": [ "keywords": [
"simple", "simple",
"simple-cms", "static-cms",
"cms", "cms",
"widget", "widget",
"starter", "starter",
"boilerplate" "boilerplate"
], ],
"version": "0.0.1", "version": "0.0.1",
"homepage": "https://github.com/SimpleCMS/simple-cms-widget-starter", "homepage": "https://github.com/StaticJsCMS/static-cms-widget-starter",
"license": "MIT", "license": "MIT",
"main": "dist/main.js", "main": "dist/main.js",
"devDependencies": { "devDependencies": {
"@simplecms/simple-cms-core": "^0.1.0", "@staticcms/core": "^0.1.0",
"babel-loader": "^7.1.4", "babel-loader": "^7.1.4",
"babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-export-extensions": "^6.22.0", "babel-plugin-transform-export-extensions": "^6.22.0",
@ -474,7 +474,7 @@ window.CMS_MANUAL_INIT = true
```javascript ```javascript
import './bootstrap.js' import './bootstrap.js'
import CMS, { init } from '@simplecms/simple-cms-core' import CMS, { init } from '@staticcms/core'
import { Control, Preview } from '../src' import { Control, Preview } from '../src'
const config = { const config = {
@ -502,9 +502,9 @@ CMS.registerWidget('test', Control, Preview)
init({ config }) init({ config })
``` ```
### [](https://github.com/SimpleCMS/simple-cms-widget-starter#development)Development ### [](https://github.com/StaticJsCMS/static-cms-widget-starter#development)Development
To run a copy of Simple CMS with your widget for development, use the start script: To run a copy of Static CMS with your widget for development, use the start script:
```javascript ```javascript
npm start npm start
@ -512,7 +512,7 @@ npm start
Your widget source is in the `src` directory, where there are separate files for the `Control` and `Preview` components. Your widget source is in the `src` directory, where there are separate files for the `Control` and `Preview` components.
### [](https://github.com/SimpleCMS/simple-cms-widget-starter#production--publishing)Production & Publishing ### [](https://github.com/StaticJsCMS/static-cms-widget-starter#production--publishing)Production & Publishing
You'll want to take a few steps before publishing a production built package to npm: You'll want to take a few steps before publishing a production built package to npm:
@ -520,12 +520,12 @@ You'll want to take a few steps before publishing a production built package to
```json ```json
{ {
"name": "simple-cms-widget-starter", "name": "static-cms-widget-starter",
"description": "A boilerplate for creating Simple CMS widgets.", "description": "A boilerplate for creating Static CMS widgets.",
"author": "name of developer", "author": "name of developer",
"keywords": [ "keywords": [
"simple", "simple",
"simple-cms", "static-cms",
"cms", "cms",
"widget", "widget",
"starter", "starter",
@ -535,9 +535,9 @@ You'll want to take a few steps before publishing a production built package to
// ... rest // ... rest
} }
``` ```
2. For discoverability, ensure that your package name follows the pattern `simple-cms-widget-<name>`. 2. For discoverability, ensure that your package name follows the pattern `static-cms-widget-<name>`.
3. Delete this `README.md`, rename `README_TEMPLATE.md` to `README.md`, and update the new file for your specific widget. 3. Delete this `README.md`, rename `README_TEMPLATE.md` to `README.md`, and update the new file for your specific widget.
4. Rename the exports in `src/index.js`. For example, if your widget is `simple-cms-widget-awesome`, you would do: 4. Rename the exports in `src/index.js`. For example, if your widget is `static-cms-widget-awesome`, you would do:
```javascript ```javascript
if (typeof window !== 'undefined') { if (typeof window !== 'undefined') {

View File

@ -4,14 +4,14 @@ weight: 50
group: Customization group: Customization
--- ---
The Simple CMS exposes a `window.CMS` global object that you can use to register custom widgets, previews and editor plugins. The available customization methods are: The Static CMS exposes a `window.CMS` global object that you can use to register custom widgets, previews and editor plugins. The available customization methods are:
* **registerPreviewStyle:** Register a custom stylesheet to use on the preview pane. * **registerPreviewStyle:** Register a custom stylesheet to use on the preview pane.
* **registerPreviewTemplate:** Registers a template for a collection. * **registerPreviewTemplate:** Registers a template for a collection.
### React Components inline interaction ### React Components inline interaction
Simple CMS is a collection of React components and exposes two constructs globally to allow you to create components inline: createClass and h (alias for React.createElement). Static CMS is a collection of React components and exposes two constructs globally to allow you to create components inline: createClass and h (alias for React.createElement).
## `registerPreviewStyle` ## `registerPreviewStyle`
@ -29,7 +29,7 @@ CMS.registerPreviewStyle(file);
```html ```html
// index.html // index.html
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
<script> <script>
CMS.registerPreviewStyle("/example.css"); CMS.registerPreviewStyle("/example.css");
</script> </script>
@ -69,7 +69,7 @@ Registers a template for a folder collection or an individual file in a file col
**Example:** **Example:**
```html ```html
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
<script> <script>
var PostPreview = createClass({ var PostPreview = createClass({
render: function() { render: function() {
@ -92,7 +92,7 @@ Registers a template for a folder collection or an individual file in a file col
### Lists and Objects ### Lists and Objects
The API for accessing the individual fields of list- and object-type entries is similar to the API for accessing fields in standard entries, but there are a few key differences. Access to these nested fields is facilitated through the `widgetsFor` function, which is passed to the preview template component during render. The API for accessing the individual fields of list- and object-type entries is similar to the API for accessing fields in standard entries, but there are a few key differences. Access to these nested fields is facilitated through the `widgetsFor` function, which is passed to the preview template component during render.
**Note**: as is often the case with the Simple CMS API, arrays and objects are created with Immutable.js. If some of the methods that we use are unfamiliar, such as `getIn`, check out [their docs](https://facebook.github.io/immutable-js/docs/#/) to get a better understanding. **Note**: as is often the case with the Static CMS API, arrays and objects are created with Immutable.js. If some of the methods that we use are unfamiliar, such as `getIn`, check out [their docs](https://facebook.github.io/immutable-js/docs/#/) to get a better understanding.
**List Example:** **List Example:**
```html ```html
<script> <script>

View File

@ -3,7 +3,7 @@ group: Guides
weight: 80 weight: 80
title: Docusaurus title: Docusaurus
--- ---
This guide instructs you on how to integrate Simple CMS with Docusaurus. This guide instructs you on how to integrate Static CMS with Docusaurus.
### Before you begin ### Before you begin
@ -33,7 +33,7 @@ The development server now serves your website at `http://localhost:3000`. As yo
## Push your project to GitHub ## Push your project to GitHub
Simple CMS requires a [backend](https://www.simplecms.github.io/simple-cms/docs/backends-overview/) to store content. Simple CMS supports using Git hosts, like GitHub or GitLab, as backends. This guide uses GitHub. Static CMS requires a [backend](https://www.staticjscms.github.io/static-cms/docs/backends-overview/) to store content. Static CMS supports using Git hosts, like GitHub or GitLab, as backends. This guide uses GitHub.
```bash ```bash
# 1. Initialize your local Git repository. # 1. Initialize your local Git repository.
@ -83,7 +83,7 @@ Choose the default option for everything else.
Your website is now deployed. Netlify provides you with a randomly generated domain name. Run `netlify open --site` to view your deployed site. Your website is now deployed. Netlify provides you with a randomly generated domain name. Run `netlify open --site` to view your deployed site.
## Add Simple CMS to your project ## Add Static CMS to your project
### Before you begin ### Before you begin
@ -161,13 +161,13 @@ touch index.html
<title>Content Manager</title> <title>Content Manager</title>
</head> </head>
<body> <body>
<!-- Include the script that builds the page and powers Simple CMS --> <!-- Include the script that builds the page and powers Static CMS -->
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
</body> </body>
</html> </html>
``` ```
`index.html` displays the Simple CMS admin interface. You'll use the admin interface to edit your blog posts. `index.html` displays the Static CMS admin interface. You'll use the admin interface to edit your blog posts.
</li> </li>
@ -209,7 +209,7 @@ collections:
- { name: imageUrl, label: ImageURL, widget: string } - { name: imageUrl, label: ImageURL, widget: string }
``` ```
`config.yml` specifies what kind of content your blog posts have. The content specification enables Simple CMS to edit existing posts and create new ones with the same format. To learn more, read about Simple CMS' [](https://www.simplecms.github.io/simple-cms/docs/configuration-options/)[Configuration options](https://www.simplecms.github.io/simple-cms/docs/configuration-options/). `config.yml` specifies what kind of content your blog posts have. The content specification enables Static CMS to edit existing posts and create new ones with the same format. To learn more, read about Static CMS' [](https://www.staticjscms.github.io/static-cms/docs/configuration-options/)[Configuration options](https://www.staticjscms.github.io/static-cms/docs/configuration-options/).
</li> </li>
<li> <li>
@ -224,7 +224,7 @@ You can now view and edit `2021-11-15-first-blog-post.md` through the admin inte
```bash ```bash
git add . git add .
git commit -m "Add Simple CMS" git commit -m "Add Static CMS"
git push git push
``` ```
@ -236,7 +236,7 @@ Netlify builds and deploys your new changes.
## Add GitHub as an authentication provider ## Add GitHub as an authentication provider
Before you can access `/admin/` through your Netlify domain, you need to set up an authentication provider. The authentication provider allows Simple CMS to determine whether users have read and write access to `/admin/`. This guide uses GitHub credentials for authentication. Before you can access `/admin/` through your Netlify domain, you need to set up an authentication provider. The authentication provider allows Static CMS to determine whether users have read and write access to `/admin/`. This guide uses GitHub credentials for authentication.
### Configure GitHub ### Configure GitHub

View File

@ -8,7 +8,7 @@ Do you have a great, open source example? Submit a pull request to this page!
Example | Tools | Type | Source | More info | Example | Tools | Type | Source | More info |
--- | --- | --- | --- | --- --- | --- | --- | --- | ---
[Gatsby & Simple CMS Meetup Group Template](https://github.com/robertcoopercode/gatsby-netlify-cms) | Gatsby | demo | [robertcoopercode/gatsby-netlify-cms](https://github.com/robertcoopercode/gatsby-netlify-cms) | [blog post](https://blog.logrocket.com/gatsby-netlify-cms-a-perfect-pairing-d50d59d16f67) [Gatsby & Static CMS Meetup Group Template](https://github.com/robertcoopercode/gatsby-netlify-cms) | Gatsby | demo | [robertcoopercode/gatsby-netlify-cms](https://github.com/robertcoopercode/gatsby-netlify-cms) | [blog post](https://blog.logrocket.com/gatsby-netlify-cms-a-perfect-pairing-d50d59d16f67)
[This Developing Journey](https://briandouglas.me) | middleman | blog | [bdougie/blog](https://github.com/bdougie/blog) | [blog post](https://www.netlify.com/blog/2017/04/20/creating-a-blog-with-middleman-and-netlify-cms/) [This Developing Journey](https://briandouglas.me) | middleman | blog | [bdougie/blog](https://github.com/bdougie/blog) | [blog post](https://www.netlify.com/blog/2017/04/20/creating-a-blog-with-middleman-and-netlify-cms/)
[Jamstack Recipes](https://jamstack-cms.netlify.com) | Hugo, Azure | demo | [hlaueriksson/jamstack-cms](https://github.com/hlaueriksson/jamstack-cms) | [blog post](http://conductofcode.io/post/managing-content-for-a-jamstack-site-with-netlify-cms/) [Jamstack Recipes](https://jamstack-cms.netlify.com) | Hugo, Azure | demo | [hlaueriksson/jamstack-cms](https://github.com/hlaueriksson/jamstack-cms) | [blog post](http://conductofcode.io/post/managing-content-for-a-jamstack-site-with-netlify-cms/)
[Bael](https://bael-theme.jake101.com/) | Vue, Nuxt | blog | [jake-101/bael-template](https://github.com/jake-101/bael-template) | [blog post](https://bael-theme.jake101.com/blog/2018-06-19-top-10-reasons-why) [Bael](https://bael-theme.jake101.com/) | Vue, Nuxt | blog | [jake-101/bael-template](https://github.com/jake-101/bael-template) | [blog post](https://bael-theme.jake101.com/blog/2018-06-19-top-10-reasons-why)
@ -24,12 +24,12 @@ Example | Tools | Type | Source | More info |
[Jigsaw Blog Starter Template Demo](https://jigsaw-blog-netlify-netlifycms-template.netlify.com/) | Jigsaw | demo | [erickpatrick/jigsaw-blog-netlify-netlifycms-template](https://github.com/erickpatrick/jigsaw-blog-netlify-netlifycms-template) | [blog post](https://www.erickpatrick.net/blog/augmenting-tightenco-jigsaw-with-netlifycms/) [Jigsaw Blog Starter Template Demo](https://jigsaw-blog-netlify-netlifycms-template.netlify.com/) | Jigsaw | demo | [erickpatrick/jigsaw-blog-netlify-netlifycms-template](https://github.com/erickpatrick/jigsaw-blog-netlify-netlifycms-template) | [blog post](https://www.erickpatrick.net/blog/augmenting-tightenco-jigsaw-with-netlifycms/)
[Nuxt & NetlifyCMS Boilerplate](https://nuxt-netlifycms-boilerplate.netlify.com/) | Vue, Nuxt | demo | [tylermercer/nuxt-netlifycms-boilerplate](https://github.com/tylermercer/nuxt-netlifycms-boilerplate) | [read me](https://github.com/tylermercer/nuxt-netlifycms-boilerplate) [Nuxt & NetlifyCMS Boilerplate](https://nuxt-netlifycms-boilerplate.netlify.com/) | Vue, Nuxt | demo | [tylermercer/nuxt-netlifycms-boilerplate](https://github.com/tylermercer/nuxt-netlifycms-boilerplate) | [read me](https://github.com/tylermercer/nuxt-netlifycms-boilerplate)
[Next.js demo](https://netlifycms-nextjs.netlify.com) | Next.js | blog | [masives/netlifycms-nextjs](https://github.com/masives/netlifycms-nextjs) | [read me](https://github.com/masives/netlifycms-nextjs) [Next.js demo](https://netlifycms-nextjs.netlify.com) | Next.js | blog | [masives/netlifycms-nextjs](https://github.com/masives/netlifycms-nextjs) | [read me](https://github.com/masives/netlifycms-nextjs)
[Delog - Jamstack Blog with Simple CMS](https://delog-w3layouts.netlify.com/) | Gatsby, Netlify-CMS | demo | [W3Layouts/gatsby-starter-delog](https://github.com/W3Layouts/gatsby-starter-delog) | [blog post](https://w3layouts.com/articles/delog-gatsby-starter-netlify-cms/) [Delog - Jamstack Blog with Static CMS](https://delog-w3layouts.netlify.com/) | Gatsby, Netlify-CMS | demo | [W3Layouts/gatsby-starter-delog](https://github.com/W3Layouts/gatsby-starter-delog) | [blog post](https://w3layouts.com/articles/delog-gatsby-starter-netlify-cms/)
[Simple CMS template for Gridsome](https://netlifycms-gridsome.suits.at/) | Gridsome, Vue | demo | [suits-at/netlifycms-gridsome](https://github.com/suits-at/netlifycms-gridsome) | [read me](https://github.com/suits-at/netlifycms-gridsome) [Static CMS template for Gridsome](https://netlifycms-gridsome.suits.at/) | Gridsome, Vue | demo | [suits-at/netlifycms-gridsome](https://github.com/suits-at/netlifycms-gridsome) | [read me](https://github.com/suits-at/netlifycms-gridsome)
[Next.js blogging template for Netlify](https://nextjs-netlify-blog-template.netlify.app/) | Next.js, Netlify | blog | [wutali/nextjs-netlify-blog-template](https://github.com/wutali/nextjs-netlify-blog-template) | [read me](https://github.com/wutali/nextjs-netlify-blog-template) [Next.js blogging template for Netlify](https://nextjs-netlify-blog-template.netlify.app/) | Next.js, Netlify | blog | [wutali/nextjs-netlify-blog-template](https://github.com/wutali/nextjs-netlify-blog-template) | [read me](https://github.com/wutali/nextjs-netlify-blog-template)
[Simple CMS and OAuth server on AWS](https://github.com/pulumi/examples/tree/master/aws-ts-netlify-cms-and-oauth) | Netlify, Pulumi, AWS | blog | [pulumi/examples/aws-ts-netlify-cms-and-oauth](https://github.com/pulumi/examples/tree/master/aws-ts-netlify-cms-and-oauth) | [blog post](https://www.pulumi.com/blog/deploying-the-infrastructure-of-oauth-server-for-cms-app/) [Static CMS and OAuth server on AWS](https://github.com/pulumi/examples/tree/master/aws-ts-netlify-cms-and-oauth) | Netlify, Pulumi, AWS | blog | [pulumi/examples/aws-ts-netlify-cms-and-oauth](https://github.com/pulumi/examples/tree/master/aws-ts-netlify-cms-and-oauth) | [blog post](https://www.pulumi.com/blog/deploying-the-infrastructure-of-oauth-server-for-cms-app/)
[Eleventy Starter Boilerplate](https://creativedesignsguru.com/demo/Eleventy-Starter-Boilerplate/eleventy-starter-boilerplate-presentation/) | Eleventy, Netlify | demo | [ixartz/Eleventy-Starter-Boilerplate](https://github.com/ixartz/Eleventy-Starter-Boilerplate) | [read me](https://github.com/ixartz/Eleventy-Starter-Boilerplate) [Eleventy Starter Boilerplate](https://creativedesignsguru.com/demo/Eleventy-Starter-Boilerplate/eleventy-starter-boilerplate-presentation/) | Eleventy, Netlify | demo | [ixartz/Eleventy-Starter-Boilerplate](https://github.com/ixartz/Eleventy-Starter-Boilerplate) | [read me](https://github.com/ixartz/Eleventy-Starter-Boilerplate)
[Nuxt, Tailwind & NetlifyCMS Boilerplate](https://ntn-boilerplate.netlify.app/) | Vue, Nuxt | demo | [Knogobert/ntn-boilerplate](https://github.com/Knogobert/ntn-boilerplate) | [read me](https://github.com/Knogobert/ntn-boilerplate#readme) [Nuxt, Tailwind & NetlifyCMS Boilerplate](https://ntn-boilerplate.netlify.app/) | Vue, Nuxt | demo | [Knogobert/ntn-boilerplate](https://github.com/Knogobert/ntn-boilerplate) | [read me](https://github.com/Knogobert/ntn-boilerplate#readme)
[Gatsby & Simple CMS Personal Portfolio](https://kind-mestorf-5a2bc0.netlify.com/) | Gatsby | portfolio | [EarlGeorge/React-Gatsby](https://github.com/EarlGeorge/React-Gatsby) | [read me](https://github.com/EarlGeorge/React-Gatsby/blob/master/README.md) [Gatsby & Static CMS Personal Portfolio](https://kind-mestorf-5a2bc0.netlify.com/) | Gatsby | portfolio | [EarlGeorge/React-Gatsby](https://github.com/EarlGeorge/React-Gatsby) | [read me](https://github.com/EarlGeorge/React-Gatsby/blob/master/README.md)
[Gatsby, Tailwind CSS & NetlifyCMS Starter](https://infallible-varahamihira-058515.netlify.app/) | Gatsby v3, Netlify-CMS, Tailwind CSS | demo | [jimmybutton/gatsby-netlifycms-tailwind-starter](https://github.com/jimmybutton/gatsby-netlifycms-tailwind-starter) | [read me](https://github.com/jimmybutton/gatsby-netlifycms-tailwind-starter#readme) [Gatsby, Tailwind CSS & NetlifyCMS Starter](https://infallible-varahamihira-058515.netlify.app/) | Gatsby v3, Netlify-CMS, Tailwind CSS | demo | [jimmybutton/gatsby-netlifycms-tailwind-starter](https://github.com/jimmybutton/gatsby-netlifycms-tailwind-starter) | [read me](https://github.com/jimmybutton/gatsby-netlifycms-tailwind-starter#readme)
[Metalsmith NetlifyCMS Starter](https://metalsmith-netlify-starter.netlify.app/) | Metalsmith and Netlify-CMS | demo | [metalsmith-netlify-starter](https://github.com/wernerglinka/metalsmith-netlify-starter) | [read me](https://github.com/wernerglinka/metalsmith-netlify-starter#readme) [Metalsmith NetlifyCMS Starter](https://metalsmith-netlify-starter.netlify.app/) | Metalsmith and Netlify-CMS | demo | [metalsmith-netlify-starter](https://github.com/wernerglinka/metalsmith-netlify-starter) | [read me](https://github.com/wernerglinka/metalsmith-netlify-starter#readme)

View File

@ -3,7 +3,7 @@ title: Gatsby
group: Guides group: Guides
weight: 10 weight: 10
--- ---
This guide will help you get started using Simple CMS and Gatsby. This guide will help you get started using Static CMS and Gatsby.
To get up and running with Gatsby, youll need to have [Node.js](https://nodejs.org/) installed on your computer. *Note: Gatsby's minimum supported Node.js version is Node 8.* To get up and running with Gatsby, youll need to have [Node.js](https://nodejs.org/) installed on your computer. *Note: Gatsby's minimum supported Node.js version is Node 8.*
@ -34,14 +34,14 @@ Far far away, behind the word mountains, far from the countries Vokalia and
Consonantia, there live the blind texts. Consonantia, there live the blind texts.
``` ```
We can see above that each blog post has a title, a date, a description and a body. Now, let's recreate this using Simple CMS. We can see above that each blog post has a title, a date, a description and a body. Now, let's recreate this using Static CMS.
## Add Simple CMS to your site ## Add Static CMS to your site
First let's install some dependencies. We'll need `@simplecms/simple-cms-core` and `gatsby-plugin-netlify-cms`. Run the following command in the terminal at the root of your site: First let's install some dependencies. We'll need `@staticcms/core` and `gatsby-plugin-netlify-cms`. Run the following command in the terminal at the root of your site:
```bash ```bash
npm install --save @simplecms/simple-cms-core gatsby-plugin-netlify-cms npm install --save @staticcms/core gatsby-plugin-netlify-cms
``` ```
### Configuration ### Configuration

View File

@ -8,12 +8,12 @@ group: Accounts
## Git Gateway with Netlify ## Git Gateway with Netlify
The [Netlify Identity](https://www.netlify.com/docs/identity/) service can handle the authentication and provides a simple interface for user management. The Simple CMS [featured templates](../start-with-a-template) are working examples of this backend. The [Netlify Identity](https://www.netlify.com/docs/identity/) service can handle the authentication and provides a simple interface for user management. The Static CMS [featured templates](../start-with-a-template) are working examples of this backend.
To use it in your own project stored on GitHub or GitLab, follow these steps: To use it in your own project stored on GitHub or GitLab, follow these steps:
1. Head over to the [Netlify Identity docs](https://www.netlify.com/docs/identity) and follow the steps to get started. 1. Head over to the [Netlify Identity docs](https://www.netlify.com/docs/identity) and follow the steps to get started.
2. Add the following lines to your Simple CMS `config.yml` file: 2. Add the following lines to your Static CMS `config.yml` file:
```yaml ```yaml
backend: backend:
@ -28,4 +28,4 @@ If you change ownership on your repository, or convert a repository from public
You can use [Git Gateway](https://github.com/netlify/git-gateway) without Netlify by setting up your own Git Gateway server and connecting it with your own instance of [GoTrue](https://www.gotrueapi.org) (the open source microservice that powers Netlify Identity), or with any other identity service that can issue JSON Web Tokens (JWT). You can use [Git Gateway](https://github.com/netlify/git-gateway) without Netlify by setting up your own Git Gateway server and connecting it with your own instance of [GoTrue](https://www.gotrueapi.org) (the open source microservice that powers Netlify Identity), or with any other identity service that can issue JSON Web Tokens (JWT).
To configure in Simple CMS, use the same `backend` settings in your Simple CMS `config.yml` file as described in Step 2 of the [Git Gateway with Netlify Identity](#git-gateway-with-netlify-identity) instructions above. To configure in Static CMS, use the same `backend` settings in your Static CMS `config.yml` file as described in Step 2 of the [Git Gateway with Netlify Identity](#git-gateway-with-netlify-identity) instructions above.

View File

@ -5,12 +5,12 @@ title: GitHub
--- ---
For repositories stored on GitHub, the `github` backend allows CMS users to log in directly with their GitHub account. Note that all users must have push access to your content repository for this to work. For repositories stored on GitHub, the `github` backend allows CMS users to log in directly with their GitHub account. Note that all users must have push access to your content repository for this to work.
Because Github [requires a server](https://github.com/SimpleCMS/simple-cms/issues/663#issuecomment-335023723) for authentication, Netlify facilitates basic GitHub authentication. Because Github [requires a server](https://github.com/StaticJsCMS/static-cms/issues/663#issuecomment-335023723) for authentication, Netlify facilitates basic GitHub authentication.
To enable basic GitHub authentication: To enable basic GitHub authentication:
1. Follow the authentication provider setup steps in the [Netlify docs](https://www.netlify.com/docs/authentication-providers/#using-an-authentication-provider). 1. Follow the authentication provider setup steps in the [Netlify docs](https://www.netlify.com/docs/authentication-providers/#using-an-authentication-provider).
2. Add the following lines to your Simple CMS `config.yml` file: 2. Add the following lines to your Static CMS `config.yml` file:
```yaml ```yaml
backend: backend:
@ -22,4 +22,4 @@ backend:
## Git Large File Storage (LFS) ## Git Large File Storage (LFS)
Please note that the GitHub backend **does not** support [git-lfs](https://git-lfs.github.com/), see [this issue](https://github.com/SimpleCMS/simple-cms/issues/1206) for more information. Please note that the GitHub backend **does not** support [git-lfs](https://git-lfs.github.com/), see [this issue](https://github.com/StaticJsCMS/static-cms/issues/1206) for more information.

View File

@ -19,9 +19,9 @@ When using GitLab's Authorization Code Flow for authentication, you can use Netl
To enable it: To enable it:
1. Follow the [GitLab docs](https://docs.gitlab.com/ee/integration/oauth_provider.html#adding-an-application-through-the-profile) to add your Simple CMS instance as an OAuth application. For the **Redirect URI**, enter `https://api.netlify.com/auth/done`, and check the box for `api` scope. 1. Follow the [GitLab docs](https://docs.gitlab.com/ee/integration/oauth_provider.html#adding-an-application-through-the-profile) to add your Static CMS instance as an OAuth application. For the **Redirect URI**, enter `https://api.netlify.com/auth/done`, and check the box for `api` scope.
2. Follow the [Netlify docs](https://www.netlify.com/docs/authentication-providers/#using-an-authentication-provider) to add your new GitLab Application ID and Secret to your Netlify site dashboard. 2. Follow the [Netlify docs](https://www.netlify.com/docs/authentication-providers/#using-an-authentication-provider) to add your new GitLab Application ID and Secret to your Netlify site dashboard.
3. In your repository, add the following lines to your Simple CMS `config.yml` file: 3. In your repository, add the following lines to your Static CMS `config.yml` file:
```yaml ```yaml
backend: backend:
@ -34,8 +34,8 @@ backend:
With GitLab's PKCE authorization, users can authenticate with GitLab directly from the client. To do this: With GitLab's PKCE authorization, users can authenticate with GitLab directly from the client. To do this:
1. Follow the [GitLab docs](https://docs.gitlab.com/ee/integration/oauth_provider.html#adding-an-application-through-the-profile) to add your Simple CMS instance as an OAuth application and uncheck the **Confidential** checkbox. For the **Redirect URI**, enter the address where you access Simple CMS, for example, `https://www.mysite.com/admin/`. For scope, select `api`. 1. Follow the [GitLab docs](https://docs.gitlab.com/ee/integration/oauth_provider.html#adding-an-application-through-the-profile) to add your Static CMS instance as an OAuth application and uncheck the **Confidential** checkbox. For the **Redirect URI**, enter the address where you access Static CMS, for example, `https://www.mysite.com/admin/`. For scope, select `api`.
2. GitLab gives you an **Application ID**. Copy this ID and enter it in your Simple CMS `config.yml` file, along with the following settings: 2. GitLab gives you an **Application ID**. Copy this ID and enter it in your Static CMS `config.yml` file, along with the following settings:
```yaml ```yaml
backend: backend:
@ -64,8 +64,8 @@ With GitLab's PKCE authorization, users can authenticate with GitLab directly fr
With GitLab's Implicit Grant, users can authenticate with GitLab directly from the client. To do this: With GitLab's Implicit Grant, users can authenticate with GitLab directly from the client. To do this:
1. Follow the [GitLab docs](https://docs.gitlab.com/ee/integration/oauth_provider.html#adding-an-application-through-the-profile) to add your Simple CMS instance as an OAuth application and uncheck the **Confidential** checkbox. For the **Redirect URI**, enter the address where you access Simple CMS, for example, `https://www.mysite.com/admin/`. For scope, select `api`. 1. Follow the [GitLab docs](https://docs.gitlab.com/ee/integration/oauth_provider.html#adding-an-application-through-the-profile) to add your Static CMS instance as an OAuth application and uncheck the **Confidential** checkbox. For the **Redirect URI**, enter the address where you access Static CMS, for example, `https://www.mysite.com/admin/`. For scope, select `api`.
2. GitLab gives you an **Application ID**. Copy this ID and enter it in your Simple CMS `config.yml` file, along with the following settings: 2. GitLab gives you an **Application ID**. Copy this ID and enter it in your Static CMS `config.yml` file, along with the following settings:
```yaml ```yaml
backend: backend:

View File

@ -3,7 +3,7 @@ group: Guides
weight: 70 weight: 70
title: Gridsome title: Gridsome
--- ---
This guide will help you get started using Simple CMS and Gridsome. This guide will help you get started using Static CMS and Gridsome.
## How to install Gridsome ## How to install Gridsome
### 1. Install Gridsome CLI tool ### 1. Install Gridsome CLI tool
@ -29,15 +29,15 @@ cd gridsome-netlify-blog
gridsome develop gridsome develop
``` ```
### Install Simple CMS the required dependencies to your project ### Install Static CMS the required dependencies to your project
```bash ```bash
# Using Yarn # Using Yarn
yarn add @simplecms/simple-cms-core gridsome-plugin-netlify-cms @gridsome/source-filesystem @gridsome/transformer-remark yarn add @staticcms/core gridsome-plugin-netlify-cms @gridsome/source-filesystem @gridsome/transformer-remark
# Using NPM # Using NPM
npm add @simplecms/simple-cms-core gridsome-plugin-netlify-cms @gridsome/source-filesystem @gridsome/transformer-remark npm add @staticcms/core gridsome-plugin-netlify-cms @gridsome/source-filesystem @gridsome/transformer-remark
``` ```
Now that the plugins are installed, it's time to setup the configuration. Open the `gridsome.config.js` file and update its content to: Now that the plugins are installed, it's time to setup the configuration. Open the `gridsome.config.js` file and update its content to:
@ -73,7 +73,7 @@ module.exports = {
Please read [gridsome-plugin-netlify-cms](https://gridsome.org/plugins/gridsome-plugin-netlify-cms), [transformer-remark](https://gridsome.org/plugins/@gridsome/transformer-remark) for more information. Please read [gridsome-plugin-netlify-cms](https://gridsome.org/plugins/gridsome-plugin-netlify-cms), [transformer-remark](https://gridsome.org/plugins/@gridsome/transformer-remark) for more information.
## Simple CMS setup ## Static CMS setup
1. Create an `admin` directory inside the `src` 1. Create an `admin` directory inside the `src`
2. Create an `uploads` directory inside the root of your project 2. Create an `uploads` directory inside the root of your project
@ -87,7 +87,7 @@ Your `index.html` should look like this:
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Simple CMS</title> <title>Static CMS</title>
</head> </head>
<body> <body>
<script src="index.js" type="module"></script> <script src="index.js" type="module"></script>
@ -98,7 +98,7 @@ Your `index.html` should look like this:
Your `index.js` should look like this: Your `index.js` should look like this:
```js ```js
import CMS from "@simplecms/simple-cms-core" import CMS from "@staticcms/core"
``` ```
Your `config.yml` for GitHub should look like this: Your `config.yml` for GitHub should look like this:

View File

@ -5,7 +5,7 @@ weight: 20
--- ---
## Introduction ## Introduction
This guide will walk you through how to integrate Simple CMS with Hugo. This is a good place to start if you want to learn from the ground up how these two tools work together. If you want to get up-and-running quicker, you can use one of the pre-existing and amazing [starter templates](/docs/start-with-a-template/)! This guide will walk you through how to integrate Static CMS with Hugo. This is a good place to start if you want to learn from the ground up how these two tools work together. If you want to get up-and-running quicker, you can use one of the pre-existing and amazing [starter templates](/docs/start-with-a-template/)!
## Getting started with Hugo ## Getting started with Hugo
@ -56,13 +56,13 @@ You'll also add some files to the `content/` and `data/` directories to make sur
touch content/.keep data/.keep touch content/.keep data/.keep
``` ```
This is as basic as you can get with a Hugo project. There's just enough here now for us to install Simple CMS. This is as basic as you can get with a Hugo project. There's just enough here now for us to install Static CMS.
## Getting Started With Simple CMS ## Getting Started With Static CMS
### Add the Simple CMS files to Hugo ### Add the Static CMS files to Hugo
In Hugo, static files that don't need to be processed by the build commands live in the `static/` directory. You'll install the Simple CMS admin and config files there. Create a directory `admin/` and within it, create two files `index.html` and `config.yml`. In the `index.html`, add the following content: In Hugo, static files that don't need to be processed by the build commands live in the `static/` directory. You'll install the Static CMS admin and config files there. Create a directory `admin/` and within it, create two files `index.html` and `config.yml`. In the `index.html`, add the following content:
```html ```html
<!DOCTYPE html> <!DOCTYPE html>
@ -75,8 +75,8 @@ In Hugo, static files that don't need to be processed by the build commands live
<script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script> <script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
</head> </head>
<body> <body>
<!-- Include the script that builds the page and powers Simple CMS --> <!-- Include the script that builds the page and powers Static CMS -->
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
</body> </body>
</html> </html>
``` ```
@ -147,9 +147,9 @@ Back in your [Netlify dashboard](https://app.netlify.com/):
Once you've reached this point, you should be able to access the CMS in your browser at `http://localhost:1313/admin`. You'll be prompted to add the URL of your Netlify site. Once you've added that URL, you can log in with an Identity account or with one of the External Providers you enabled in step 3 above. For the sake of this tutorial, you can create a blog post in the CMS, and publish it! Once you `git pull` in your project, the blog post will show up in the project at `content/blog/<slugified-blog-post-title>.md`. Once you've reached this point, you should be able to access the CMS in your browser at `http://localhost:1313/admin`. You'll be prompted to add the URL of your Netlify site. Once you've added that URL, you can log in with an Identity account or with one of the External Providers you enabled in step 3 above. For the sake of this tutorial, you can create a blog post in the CMS, and publish it! Once you `git pull` in your project, the blog post will show up in the project at `content/blog/<slugified-blog-post-title>.md`.
And that's it! From this point on, it's just a matter of following [the Hugo documentation](https://gohugo.io/templates/) for outputting the content from your `content/` directory into templates! For more information on configuring Simple CMS, feel free to check out the [Simple CMS configuration options documentation](/docs/configuration-options/). And that's it! From this point on, it's just a matter of following [the Hugo documentation](https://gohugo.io/templates/) for outputting the content from your `content/` directory into templates! For more information on configuring Static CMS, feel free to check out the [Static CMS configuration options documentation](/docs/configuration-options/).
## Using Simple CMS content in Hugo ## Using Static CMS content in Hugo
### Creating a list of posts ### Creating a list of posts
@ -198,13 +198,13 @@ Create a file `layouts/blog/single.html`, and put the following content in there
</html> </html>
``` ```
You can see this basic template includes all the fields you've specified in your Simple CMS `config.yml` file. You can access any custom front-matter fields with `.Params.<field-name>`! You can see this basic template includes all the fields you've specified in your Static CMS `config.yml` file. You can access any custom front-matter fields with `.Params.<field-name>`!
### Using Hugo shortcodes in the Markdown Editor ### Using Hugo shortcodes in the Markdown Editor
Using `registerEditorComponent` we can register a block level component for the Markdown editor. You can use it to add Hugo's inbuilt shortcodes like `gist`,`youtube` and others as block components to the markdown editor. Using `registerEditorComponent` we can register a block level component for the Markdown editor. You can use it to add Hugo's inbuilt shortcodes like `gist`,`youtube` and others as block components to the markdown editor.
You can refer to [registering editor components](https://www.simplecms.github.io/simple-cms/docs/custom-widgets/#registereditorcomponent) for a getting started guide or for creating your own editor components. You can refer to [registering editor components](https://www.staticjscms.github.io/static-cms/docs/custom-widgets/#registereditorcomponent) for a getting started guide or for creating your own editor components.
**Example** **Example**

View File

@ -4,9 +4,9 @@ group: Intro
weight: 1 weight: 1
--- ---
Simple CMS is an open source content management system for your Git workflow that enables you to provide editors with a friendly UI and intuitive workflows. You can use it with any static site generator to create faster, more flexible web projects. Content is stored in your Git repository alongside your code for easier versioning, multi-channel publishing, and the option to handle content updates directly in Git. Static CMS is an open source content management system for your Git workflow that enables you to provide editors with a friendly UI and intuitive workflows. You can use it with any static site generator to create faster, more flexible web projects. Content is stored in your Git repository alongside your code for easier versioning, multi-channel publishing, and the option to handle content updates directly in Git.
At its core, Simple CMS is an open-source React app that acts as a wrapper for the Git workflow, using the GitHub, GitLab, or Bitbucket API. This provides many advantages, including: At its core, Static CMS is an open-source React app that acts as a wrapper for the Git workflow, using the GitHub, GitLab, or Bitbucket API. This provides many advantages, including:
* **Fast, web-based UI:** With rich-text editing, real-time preview, and drag-and-drop media uploads. * **Fast, web-based UI:** With rich-text editing, real-time preview, and drag-and-drop media uploads.
* **Platform agnostic:** Works with most static site generators. * **Platform agnostic:** Works with most static site generators.
@ -18,7 +18,7 @@ At its core, Simple CMS is an open-source React app that acts as a wrapper for t
### Find out more ### Find out more
- Get a feel for the UI in the [demo site](https://cms-demo.netlify.com). (No login required. Click the login button to go straight to the CMS editor UI.) - Get a feel for the UI in the [demo site](https://cms-demo.netlify.com). (No login required. Click the login button to go straight to the CMS editor UI.)
- [Start with a template](../start-with-a-template/) to make a Simple CMS-enabled site of your own. - [Start with a template](../start-with-a-template/) to make a Static CMS-enabled site of your own.
- Configure your existing site by following a [tutorial](../add-to-your-site/) or checking [configuration options](../configuration-options). - Configure your existing site by following a [tutorial](../add-to-your-site/) or checking [configuration options](../configuration-options).
- Ask questions and share ideas in the Simple CMS [community chat](https://simplecms.github.io/simple-cms/chat). - Ask questions and share ideas in the Static CMS [community chat](https://staticjscms.github.io/static-cms/chat).
- Get involved in new developments and become a [contributor](../contributor-guide/). - Get involved in new developments and become a [contributor](../contributor-guide/).

View File

@ -5,19 +5,19 @@ title: Jekyll
--- ---
## Introduction ## Introduction
This section will help you integrate Simple CMS with a new or existing Jekyll project. This section will help you integrate Static CMS with a new or existing Jekyll project.
[Jekyll](https://jekyllrb.com/) is a blog-aware static site generator built with Ruby. [Github Pages](https://pages.github.com/) are powered by Jekyll, making it a popular choice for developer blogs and project pages. [Jekyll](https://jekyllrb.com/) is a blog-aware static site generator built with Ruby. [Github Pages](https://pages.github.com/) are powered by Jekyll, making it a popular choice for developer blogs and project pages.
If you're starting a new project, the fastest route to publishing on a Jekyll website with Simple CMS is to [deploy a template on Netlify](https://templates.netlify.com/). If you're starting a new project, the fastest route to publishing on a Jekyll website with Static CMS is to [deploy a template on Netlify](https://templates.netlify.com/).
## Setup ## Setup
This guide will use the blog you get if you follow the [really excellent official Jekyll step by step tutorial](https://jekyllrb.com/docs/step-by-step/01-setup/) as a starting point. If you're new to Jekyll - I recommended you start by following the tutorial so you know your way around your new blog. Otherwise [you can clone this repo](https://github.com/adamwatters/jekyll-tutorial-with-netlify-cms/tree/without-cms) and checkout the `without-cms` branch. This guide will use the blog you get if you follow the [really excellent official Jekyll step by step tutorial](https://jekyllrb.com/docs/step-by-step/01-setup/) as a starting point. If you're new to Jekyll - I recommended you start by following the tutorial so you know your way around your new blog. Otherwise [you can clone this repo](https://github.com/adamwatters/jekyll-tutorial-with-netlify-cms/tree/without-cms) and checkout the `without-cms` branch.
![Jekyll tutorial blog screenshot](https://www.simplecms.github.io/simple-cms/img/screenshot-jekyll-tutorial-blog.png?raw=true) ![Jekyll tutorial blog screenshot](https://www.staticjscms.github.io/static-cms/img/screenshot-jekyll-tutorial-blog.png?raw=true)
## Add Simple CMS ## Add Static CMS
### Add admin/index.html ### Add admin/index.html
@ -35,8 +35,8 @@ Create a file `admin/index.html` in the root of your repo - it should look like
<script src="https://identity.netlify.com/v1/netlify-identity-widget.js" type="text/javascript"></script> <script src="https://identity.netlify.com/v1/netlify-identity-widget.js" type="text/javascript"></script>
</head> </head>
<body> <body>
<!-- Include the script that builds the page and powers Simple CMS --> <!-- Include the script that builds the page and powers Static CMS -->
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
</body> </body>
</html> </html>
``` ```
@ -62,15 +62,15 @@ collections:
### Enable authentication for CMS users ### Enable authentication for CMS users
Simple CMS stores content in your online Git repository. Therefore, to make content changes, users need to authenticate with the corresponding Git provider to prove that they have read and write access to that content. Static CMS stores content in your online Git repository. Therefore, to make content changes, users need to authenticate with the corresponding Git provider to prove that they have read and write access to that content.
Follow the directions in the Introduction section to [enable Netlify Identity and Git Gateway services](https://www.simplecms.github.io/simple-cms/docs/add-to-your-site/#enable-identity-and-git-gateway) for the backend, then [add the Identity widget](https://www.simplecms.github.io/simple-cms/docs/add-to-your-site/#add-the-netlify-identity-widget) to render a login portal on the frontend. Follow the directions in the Introduction section to [enable Netlify Identity and Git Gateway services](https://www.staticjscms.github.io/static-cms/docs/add-to-your-site/#enable-identity-and-git-gateway) for the backend, then [add the Identity widget](https://www.staticjscms.github.io/static-cms/docs/add-to-your-site/#add-the-netlify-identity-widget) to render a login portal on the frontend.
## CMS Configuration ## CMS Configuration
### Blog Collection ### Blog Collection
We'll start by updating the `blog` collection. Blogging is baked into Jekyll, and the `_posts/` directory uses [some special conventions](https://jekyllrb.com/docs/posts/) we'll need to keep in mind as we configure Simple CMS. Copy and paste the following into your `config.yml`. We'll start by updating the `blog` collection. Blogging is baked into Jekyll, and the `_posts/` directory uses [some special conventions](https://jekyllrb.com/docs/posts/) we'll need to keep in mind as we configure Static CMS. Copy and paste the following into your `config.yml`.
```yaml ```yaml
collections: collections:
@ -93,15 +93,15 @@ A few things to note.
* We set the `slug` to `'{{year}}-{{month}}-{{day}}-{{slug}}'` because [Jekyll requires this format for blog posts](https://jekyllrb.com/docs/posts/#creating-posts). `year`, `month`, and `day` will be extracted from the `date` field, and `slug` will be generated from the `title` field. * We set the `slug` to `'{{year}}-{{month}}-{{day}}-{{slug}}'` because [Jekyll requires this format for blog posts](https://jekyllrb.com/docs/posts/#creating-posts). `year`, `month`, and `day` will be extracted from the `date` field, and `slug` will be generated from the `title` field.
* We added `editor` configuration with a field `preview: false`. This will eliminate the preview pane. Because Jekyll uses Liquid templates, there currently isn't a good way to provide a preview of pages as you update the content. * We added `editor` configuration with a field `preview: false`. This will eliminate the preview pane. Because Jekyll uses Liquid templates, there currently isn't a good way to provide a preview of pages as you update the content.
* The `layout` field default is set to `post` so Jekyll knows to use `_layouts/post.html` when it renders a post. This field is hidden because we want all posts to use the same layout. * The `layout` field default is set to `post` so Jekyll knows to use `_layouts/post.html` when it renders a post. This field is hidden because we want all posts to use the same layout.
* The `date` and `title` field will be used by the `slug` - as noted above, Jekyll relies on the filename to determine a post's publish date, but Simple CMS does not pull date information from the filename and requires a frontmatter `date` field. **Note** Changing the `date` or `title` fields in Simple CMS will not update the filename. This has a few implications: * The `date` and `title` field will be used by the `slug` - as noted above, Jekyll relies on the filename to determine a post's publish date, but Static CMS does not pull date information from the filename and requires a frontmatter `date` field. **Note** Changing the `date` or `title` fields in Static CMS will not update the filename. This has a few implications:
* If you change the `date` or `title` fields in Simple CMS, Jekyll won't notice * If you change the `date` or `title` fields in Static CMS, Jekyll won't notice
* You don't necessarily need to change the `date` and `title` fields for existing posts, but if you don't the filenames and frontmatter will disagree in a way that might be confusing * You don't necessarily need to change the `date` and `title` fields for existing posts, but if you don't the filenames and frontmatter will disagree in a way that might be confusing
* If you want to avoid these issues, use a regular Jekyll collection instead of the special `_posts` directory * If you want to avoid these issues, use a regular Jekyll collection instead of the special `_posts` directory
### Author Collection ### Author Collection
In addition to `_posts`, the Jekyll tutorial blog includes a collection of authors in the `_authors` directory. Before we can configure Simple CMS to work with the `authors` collection, we'll need to make a couple tweaks to our Jekyll blog. Here's the front matter for one of the authors. In addition to `_posts`, the Jekyll tutorial blog includes a collection of authors in the `_authors` directory. Before we can configure Static CMS to work with the `authors` collection, we'll need to make a couple tweaks to our Jekyll blog. Here's the front matter for one of the authors.
```yaml ```yaml
short_name: jill short_name: jill
@ -109,7 +109,7 @@ name: Jill Smith
position: Chief Editor position: Chief Editor
``` ```
`name` has special meaning as a unique identifier in Simple CMS, but as set up now our Jekyll blog is using `short_name` as the unique identifier for authors. For each author, update the frontmatter like so. `name` has special meaning as a unique identifier in Static CMS, but as set up now our Jekyll blog is using `short_name` as the unique identifier for authors. For each author, update the frontmatter like so.
```yaml ```yaml
name: jill name: jill
@ -190,7 +190,7 @@ Next, copy and paste the following into the collections array in `config.yml` be
- { label: 'Body', name: 'body', widget: 'markdown' } - { label: 'Body', name: 'body', widget: 'markdown' }
``` ```
Now that we have the `authors` collection configured, we can add an `author` field to the `blog` collection. We'll use the [relation widget](https://www.simplecms.github.io/simple-cms/docs/widgets/#relation) to define the relationship between blog posts and authors. Now that we have the `authors` collection configured, we can add an `author` field to the `blog` collection. We'll use the [relation widget](https://www.staticjscms.github.io/static-cms/docs/widgets/#relation) to define the relationship between blog posts and authors.
```yaml ```yaml
# updated fields in blog collection configuration # updated fields in blog collection configuration
@ -214,7 +214,7 @@ With that configuration added, you should be able to select the author for a pos
### About Page ### About Page
Our Jekyll blog includes an About page. It would nice to be able to edit that page just like we can edit our blog and author pages. Simple CMS provides [file collections](https://www.simplecms.github.io/simple-cms/docs/collection-types/#file-collections) to solve this problem. Our Jekyll blog includes an About page. It would nice to be able to edit that page just like we can edit our blog and author pages. Static CMS provides [file collections](https://www.staticjscms.github.io/static-cms/docs/collection-types/#file-collections) to solve this problem.
Copy and paste the following into the collections array in `config.yml` Copy and paste the following into the collections array in `config.yml`
@ -235,7 +235,7 @@ Copy and paste the following into the collections array in `config.yml`
### Navigation ### Navigation
The last aspect of our Jekyll blog we might want to bring under the control of Simple CMS is our Navigation menu. Our Jekyll tutorial blog has a file `_data/navigation.yml` that defines the links rendered by `_includes/navigation.html`. It looks like this. The last aspect of our Jekyll blog we might want to bring under the control of Static CMS is our Navigation menu. Our Jekyll tutorial blog has a file `_data/navigation.yml` that defines the links rendered by `_includes/navigation.html`. It looks like this.
```yaml ```yaml
# _data/navigation.yml # _data/navigation.yml
@ -249,7 +249,7 @@ The last aspect of our Jekyll blog we might want to bring under the control of S
link: /staff.html link: /staff.html
``` ```
To make this file editable with Simple CMS, we'll need to make one minor tweak. The issue is this file contains a yaml array at the top level, but Simple CMS is designed to work with yaml objects. Update `_data/navigation.yml` so it looks like so. To make this file editable with Static CMS, we'll need to make one minor tweak. The issue is this file contains a yaml array at the top level, but Static CMS is designed to work with yaml objects. Update `_data/navigation.yml` so it looks like so.
```yaml ```yaml
# _data/navigation.yml # _data/navigation.yml

View File

@ -3,7 +3,7 @@ title: Middleman
group: Guides group: Guides
weight: 60 weight: 60
--- ---
This guide will help you get started using Simple CMS and Middleman. This guide will help you get started using Static CMS and Middleman.
## Installation ## Installation
To get up and running with Middleman, you need both the Ruby language runtime and RubyGems installed on your computer. Check out the [Middleman installation docs](https://middlemanapp.com/basics/install/) for more details. If you already have your environment set up, use the following command to install Middleman: To get up and running with Middleman, you need both the Ruby language runtime and RubyGems installed on your computer. Check out the [Middleman installation docs](https://middlemanapp.com/basics/install/) for more details. If you already have your environment set up, use the following command to install Middleman:
@ -77,7 +77,7 @@ Time to load our articles in `index.html.erb`.
``` ```
### Add an article layout ### Add an article layout
In the last step before we add Simple CMS, we add a layout for the article page. Create a new layout `source/layouts/blog-layout.html.erb`. For now we will get the title and the content: In the last step before we add Static CMS, we add a layout for the article page. Create a new layout `source/layouts/blog-layout.html.erb`. For now we will get the title and the content:
```ruby ```ruby
<h1> <h1>
<%= current_page.data.title %> <%= current_page.data.title %>
@ -86,9 +86,9 @@ In the last step before we add Simple CMS, we add a layout for the article page.
<%= yield %> <%= yield %>
``` ```
Now that we have a functioning blog, let's get started with Simple CMS! Now that we have a functioning blog, let's get started with Static CMS!
## Add Simple CMS to your site ## Add Static CMS to your site
Create two files in a new folder called `admin`, `index.html` and `config.yml`. Also add an `upload` folder in the images directory that will function as our `media_folder`. Create two files in a new folder called `admin`, `index.html` and `config.yml`. Also add an `upload` folder in the images directory that will function as our `media_folder`.
```bash ```bash
@ -102,7 +102,7 @@ Create two files in a new folder called `admin`, `index.html` and `config.yml`.
``` ```
In the newly created `index.html` we add scripts for Simple CMS and the Netlify Identity Widget: In the newly created `index.html` we add scripts for Static CMS and the Netlify Identity Widget:
```html ```html
<!doctype html> <!doctype html>
@ -111,11 +111,11 @@ In the newly created `index.html` we add scripts for Simple CMS and the Netlify
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge"> <meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Simple CMS</title> <title>Static CMS</title>
<script src="https://identity.netlify.com/v1/netlify-identity-widget.js" type="text/javascript"></script> <script src="https://identity.netlify.com/v1/netlify-identity-widget.js" type="text/javascript"></script>
</head> </head>
<body> <body>
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js" type="text/javascript"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js" type="text/javascript"></script>
</body> </body>
</html> </html>

View File

@ -6,17 +6,17 @@ weight: 20
[Netlify Large Media](https://www.netlify.com/features/large-media/) is a [Git LFS](https://git-lfs.github.com/) implementation for repositories connected to Netlify sites. This means that you can use Git to work with large asset files like images, audio, and video, without bloating your repository. It does this by replacing the asset files in your repository with text pointer files, then uploading the assets to the Netlify Large Media storage service. [Netlify Large Media](https://www.netlify.com/features/large-media/) is a [Git LFS](https://git-lfs.github.com/) implementation for repositories connected to Netlify sites. This means that you can use Git to work with large asset files like images, audio, and video, without bloating your repository. It does this by replacing the asset files in your repository with text pointer files, then uploading the assets to the Netlify Large Media storage service.
If you have a Netlify site with Large Media enabled, Simple CMS (version 2.6.0 and above) will handle Large Media asset files seamlessly, in the same way as files stored directly in the repository. If you have a Netlify site with Large Media enabled, Static CMS (version 2.6.0 and above) will handle Large Media asset files seamlessly, in the same way as files stored directly in the repository.
## Requirements ## Requirements
To use Netlify Large Media with Simple CMS, you will need to do the following: To use Netlify Large Media with Static CMS, you will need to do the following:
- [Upgrade Simple CMS](/docs/update-the-cms-version/) to version 2.6.0 or above. - [Upgrade Static CMS](/docs/update-the-cms-version/) to version 2.6.0 or above.
- Configure Simple CMS to use the [Git Gateway backend with Netlify Identity](/docs/git-gateway-backend/#git-gateway-with-netlify-identity). - Configure Static CMS to use the [Git Gateway backend with Netlify Identity](/docs/git-gateway-backend/#git-gateway-with-netlify-identity).
- Configure the Netlify site and connected repository to use Large Media, following the [Large Media docs on Netlify](https://www.netlify.com/docs/large-media/). - Configure the Netlify site and connected repository to use Large Media, following the [Large Media docs on Netlify](https://www.netlify.com/docs/large-media/).
When these are complete, you can use Simple CMS as normal, and the configured asset files will automatically be handled by Netlify Large Media. When these are complete, you can use Static CMS as normal, and the configured asset files will automatically be handled by Netlify Large Media.
## Image transformations ## Image transformations
@ -26,7 +26,7 @@ You can learn more about this feature in [Netlify's image transformation docs](h
### Transformation control for media gallery thumbnails ### Transformation control for media gallery thumbnails
In repositories enabled with Netlify Large Media, Simple CMS will use the image transformation query parameters to load thumbnail-sized images for the media gallery view. This makes images in the media gallery load significantly faster. In repositories enabled with Netlify Large Media, Static CMS will use the image transformation query parameters to load thumbnail-sized images for the media gallery view. This makes images in the media gallery load significantly faster.
**Note:** When using this option all tracked file types have to be imported into Large Media. For example if you track `*.jpg` but still have jpg-files that are not imported into Large Media the backend will throw an error. Check the [netlify docs](https://docs.netlify.com/large-media/setup/#migrate-files-from-git-history) on how to add previously committed files to Large Media. **Note:** When using this option all tracked file types have to be imported into Large Media. For example if you track `*.jpg` but still have jpg-files that are not imported into Large Media the backend will throw an error. Check the [netlify docs](https://docs.netlify.com/large-media/setup/#migrate-files-from-git-history) on how to add previously committed files to Large Media.

View File

@ -3,7 +3,7 @@ group: Guides
weight: 40 weight: 40
title: NextJS title: NextJS
--- ---
This guide will help you get started using Simple CMS with NextJS. This guide will help you get started using Static CMS with NextJS.
## Creating a new project ## Creating a new project
@ -69,7 +69,7 @@ cats:
--- ---
Welcome to my awesome page about cats of the internet. Welcome to my awesome page about cats of the internet.
This page is built with NextJS, and content is managed in Simple CMS This page is built with NextJS, and content is managed in Static CMS
``` ```
Next, we need to tell webpack how to load Markdown files. Create a new `next.config.js` file at the root of your project with the following content: Next, we need to tell webpack how to load Markdown files. Create a new `next.config.js` file at the root of your project with the following content:
@ -128,9 +128,9 @@ Great! We now have a page that displays content from our Markdown file. Go ahead
npm run dev npm run dev
``` ```
## Adding Simple CMS ## Adding Static CMS
There are many different ways to add Simple CMS to your project. The easiest is probably just to embed it from a CDN, and that's exactly what we're gonna do. To avoid making this guide too complicated, we're just going to add Netlify into a subfolder inside the `/public` directory (which is just served as static files by Next): There are many different ways to add Static CMS to your project. The easiest is probably just to embed it from a CDN, and that's exactly what we're gonna do. To avoid making this guide too complicated, we're just going to add Netlify into a subfolder inside the `/public` directory (which is just served as static files by Next):
```bash ```bash
# Create and navigate into public/admin folder # Create and navigate into public/admin folder
@ -142,7 +142,7 @@ touch index.html
touch config.yml touch config.yml
``` ```
Paste HTML for Simple CMS into your `public/admin/index.html` file (check out the [Add Netlify To Your Site](https://www.simplecms.github.io/simple-cms/docs/add-to-your-site/) section for more information) Paste HTML for Static CMS into your `public/admin/index.html` file (check out the [Add Netlify To Your Site](https://www.staticjscms.github.io/static-cms/docs/add-to-your-site/) section for more information)
```html ```html
<!doctype html> <!doctype html>
@ -154,8 +154,8 @@ Paste HTML for Simple CMS into your `public/admin/index.html` file (check out th
<script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script> <script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
</head> </head>
<body> <body>
<!-- Include the script that builds the page and powers Simple CMS --> <!-- Include the script that builds the page and powers Static CMS -->
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
</body> </body>
</html> </html>
``` ```
@ -189,9 +189,9 @@ collections:
- { label: "Description", name: "description", widget: "text"} - { label: "Description", name: "description", widget: "text"}
``` ```
Awesome! Simple CMS should now be available at `localhost:3000/admin/index.html`. Unfortunately we can't edit our content just yet. First we need to move our code into a git repository, and create a new Netlify site. Awesome! Static CMS should now be available at `localhost:3000/admin/index.html`. Unfortunately we can't edit our content just yet. First we need to move our code into a git repository, and create a new Netlify site.
**Tip:** If you want to test changes made to your config.yml file locally, swap out "git-gateway" with "test-repo" and navigate to `localhost:3000/admin/index.html` to view Simple CMS locally (you can't make changes or read actual content from Git this way, but it's great to verify how things will look). **Tip:** If you want to test changes made to your config.yml file locally, swap out "git-gateway" with "test-repo" and navigate to `localhost:3000/admin/index.html` to view Static CMS locally (you can't make changes or read actual content from Git this way, but it's great to verify how things will look).
## Publishing to GitHub and Netlify ## Publishing to GitHub and Netlify
@ -229,6 +229,6 @@ Netlify's Identity and Git Gateway services allow you to manage CMS admin users
Great job - you did it! Open your new page via the new Netlify URL, and navigate to `/admin`. If you did everything correct in the previous step, you should now be able to sign up for an account, and log in. Great job - you did it! Open your new page via the new Netlify URL, and navigate to `/admin`. If you did everything correct in the previous step, you should now be able to sign up for an account, and log in.
**Tip:** Signing up with an external provider is the easiest. If you want to sign up by email, you'll have to set up a redirect in your index.js page (which we won't be covering in this guide). For more information, have a look at the [Add To Your Site](https://www.simplecms.github.io/simple-cms/docs/add-to-your-site) section. **Tip:** Signing up with an external provider is the easiest. If you want to sign up by email, you'll have to set up a redirect in your index.js page (which we won't be covering in this guide). For more information, have a look at the [Add To Your Site](https://www.staticjscms.github.io/static-cms/docs/add-to-your-site) section.
Congratulations - you can finally manage your new list of cats! Congratulations - you can finally manage your new list of cats!

View File

@ -3,7 +3,7 @@ group: Guides
weight: 50 weight: 50
title: Nuxt title: Nuxt
--- ---
This guide will walk you through how to integrate Simple CMS with Nuxt. This guide will walk you through how to integrate Static CMS with Nuxt.
## Starting With `create-nuxt-app` ## Starting With `create-nuxt-app`
@ -15,11 +15,11 @@ cd <name-of-your-new-project>
npm run dev npm run dev
``` ```
## Setting Up Simple CMS ## Setting Up Static CMS
### Add the Simple CMS files to Nuxt ### Add the Static CMS files to Nuxt
In the `static/` directory, create a new directory `admin/`. Inside that directory you'll create two files, your `index.html` and a `config.yml`. Per the [Simple CMS documentation](/docs/add-to-your-site/), we'll set the content of `static/admin/index.html` to the following: In the `static/` directory, create a new directory `admin/`. Inside that directory you'll create two files, your `index.html` and a `config.yml`. Per the [Static CMS documentation](/docs/add-to-your-site/), we'll set the content of `static/admin/index.html` to the following:
```html ```html
<!DOCTYPE html> <!DOCTYPE html>
@ -32,8 +32,8 @@ In the `static/` directory, create a new directory `admin/`. Inside that directo
<script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script> <script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
</head> </head>
<body> <body>
<!-- Include the script that builds the page and powers Simple CMS --> <!-- Include the script that builds the page and powers Static CMS -->
<script src="https://unpkg.com/@simplecms/simple-cms-core@%5E0.1.0/dist/simple-cms-core.js"></script> <script src="https://unpkg.com/@staticcms/core@%5E0.1.0/dist/static-cms-core.js"></script>
</body> </body>
</html> </html>
``` ```
@ -135,7 +135,7 @@ Once you've reached this point, you should be able to access the CMS in your bro
## Using nuxt/content ## Using nuxt/content
Simple CMS and [nuxt/content](https://content.nuxtjs.org) module click together and complement each other to give you best authoring experience and developer experience respectively. Static CMS and [nuxt/content](https://content.nuxtjs.org) module click together and complement each other to give you best authoring experience and developer experience respectively.
Adding nuxt/content dependency Adding nuxt/content dependency

View File

@ -8,7 +8,7 @@ weight: 4
## Update the CMS Version ## Update the CMS Version
The update procedure for your CMS depends upon the method you used to install Simple CMS. The update procedure for your CMS depends upon the method you used to install Static CMS.
### Package Manager ### Package Manager

View File

@ -4,31 +4,31 @@ group: Guides
weight: 1 weight: 1
--- ---
The process for adding Simple CMS to a static site can be divided into four main steps: The process for adding Static CMS to a static site can be divided into four main steps:
### Install Simple CMS ### Install Static CMS
This is a single page app available at the `/admin` route of your website. This is a single page app available at the `/admin` route of your website.
Check out the [general overview](/docs/intro/) to see what the installation process entails. Check out the [general overview](/docs/intro/) to see what the installation process entails.
### Set up a backend ### Set up a backend
This serves two purpose: Secure access to your website's Simple CMS and allows it to read and update content files in your repo. More information about configuring the backend can be found [here](/docs/backends-overview/). This serves two purpose: Secure access to your website's Static CMS and allows it to read and update content files in your repo. More information about configuring the backend can be found [here](/docs/backends-overview/).
### Configure Simple CMS using a configuration file ### Configure Static CMS using a configuration file
For starters, you can get by with a basic configuration that includes required information like Git provider, branch and folders to save files to. For starters, you can get by with a basic configuration that includes required information like Git provider, branch and folders to save files to.
Once you've gotten the hang of it, you can use the file to build whatever collections and content modeling you want. Check out the [this section](/docs/configuration-options/#configuration-file) for full details about all available configuration options. Once you've gotten the hang of it, you can use the file to build whatever collections and content modeling you want. Check out the [this section](/docs/configuration-options/#configuration-file) for full details about all available configuration options.
### Render the content provided by Simple CMS as web pages ### Render the content provided by Static CMS as web pages
Simple CMS manages your content, and provides admin features, but it doesn't deliver content. It only makes your content available through an API. Static CMS manages your content, and provides admin features, but it doesn't deliver content. It only makes your content available through an API.
It is up to developers to determine how to build the raw content into something useful and delightful on the frontend. It is up to developers to determine how to build the raw content into something useful and delightful on the frontend.
To learn how to query raw content managed by Simple CMS and reformat them for delivery to end users, please refer the dedicated section for your site generator in the Table of Content. To learn how to query raw content managed by Static CMS and reformat them for delivery to end users, please refer the dedicated section for your site generator in the Table of Content.
___ ___
### Local development ### Local development
If you are experimenting with Simple CMS or testing things out, you can connect it to a local Git repository instead of a live one. Learn how to do it [here](/docs/beta-features/#working-with-a-local-git-repository). If you are experimenting with Static CMS or testing things out, you can connect it to a local Git repository instead of a live one. Learn how to do it [here](/docs/beta-features/#working-with-a-local-git-repository).

View File

@ -3,7 +3,7 @@ group: Intro
weight: 2 weight: 2
title: Start with a Template title: Start with a Template
--- ---
You can add Simple CMS [to an existing site](/docs/add-to-your-site/), but the quickest way to get started is with a template. Found below, our featured templates deploy a bare-bones site and Simple CMS to Netlify, giving you a fully working CMS-enabled site with just a few clicks. You can add Static CMS [to an existing site](/docs/add-to-your-site/), but the quickest way to get started is with a template. Found below, our featured templates deploy a bare-bones site and Static CMS to Netlify, giving you a fully working CMS-enabled site with just a few clicks.
<div style="display: flex; justify-content: left; text-align: center; margin-bottom: 1.5em; flex-wrap: wrap;"stack=cms> <div style="display: flex; justify-content: left; text-align: center; margin-bottom: 1.5em; flex-wrap: wrap;"stack=cms>
<div style="flex-basis: 33%"> <div style="flex-basis: 33%">
@ -66,20 +66,20 @@ You can add Simple CMS [to an existing site](/docs/add-to-your-site/), but the q
After clicking one of those buttons, authenticate with GitHub or GitLab and choose a repository name. Netlify then automatically creates a clone of the repository in your GitHub or GitLab account. Next, it builds and deploys the new site on Netlify, bringing you to the site dashboard after completing the build. After clicking one of those buttons, authenticate with GitHub or GitLab and choose a repository name. Netlify then automatically creates a clone of the repository in your GitHub or GitLab account. Next, it builds and deploys the new site on Netlify, bringing you to the site dashboard after completing the build.
**Note for Bitbucket users:** Simple CMS supports Bitbucket repositories, but Bitbucket's permissions won't work with the Deploy to Netlify buttons above. You can still set up a repository manually, or follow the [tutorial](/docs/add-to-your-site) for adding Simple CMS to an existing site. **Note for Bitbucket users:** Static CMS supports Bitbucket repositories, but Bitbucket's permissions won't work with the Deploy to Netlify buttons above. You can still set up a repository manually, or follow the [tutorial](/docs/add-to-your-site) for adding Static CMS to an existing site.
## Access Simple CMS on your new site ## Access Static CMS on your new site
1. The template deploy process sends you an invitation to your new site, sent from `no-reply@netlify.com`. 1. The template deploy process sends you an invitation to your new site, sent from `no-reply@netlify.com`.
![Sample email subject line: You've been invited to join radiologist-amanda-53841.netlify.com](https://www.simplecms.github.io/simple-cms/img/email-subject.png?raw=true) ![Sample email subject line: You've been invited to join radiologist-amanda-53841.netlify.com](https://www.staticjscms.github.io/static-cms/img/email-subject.png?raw=true)
2. Wait for the deployment to complete, then click the link to accept the invite. Your site will open with a prompt to create a password. 2. Wait for the deployment to complete, then click the link to accept the invite. Your site will open with a prompt to create a password.
!["Complete your signup" modal on the Kaldi coffee site](https://www.simplecms.github.io/simple-cms/img/create-password.png?raw=true) !["Complete your signup" modal on the Kaldi coffee site](https://www.staticjscms.github.io/static-cms/img/create-password.png?raw=true)
3. Enter a password, sign in, and youll go to the CMS. (For future visits, you can go straight to `<yoursiteaddress.com>/admin/`.) 3. Enter a password, sign in, and youll go to the CMS. (For future visits, you can go straight to `<yoursiteaddress.com>/admin/`.)
Try adding and editing posts, or changing the content of the Products page. When you save, the changes are pushed immediately to your Git repository, triggering a build on Netlify, and updating the content on your site. Check out the configuration code by visiting your site repo. Try adding and editing posts, or changing the content of the Products page. When you save, the changes are pushed immediately to your Git repository, triggering a build on Netlify, and updating the content on your site. Check out the configuration code by visiting your site repo.
## More paths to explore ## More paths to explore
* To see how to integrate Simple CMS into an existing project, go to [Add to your site](/docs/add-to-your-site/). * To see how to integrate Static CMS into an existing project, go to [Add to your site](/docs/add-to-your-site/).
* Check out other sites using Simple CMS (or share your own!) on the [Examples](/docs/examples/) page. * Check out other sites using Static CMS (or share your own!) on the [Examples](/docs/examples/) page.
* If youd like to add more CMS editors or change how they log in to your site, read up on [Netlify Identity service](https://www.netlify.com/docs/identity). * If youd like to add more CMS editors or change how they log in to your site, read up on [Netlify Identity service](https://www.netlify.com/docs/identity).

View File

@ -4,11 +4,11 @@ group: Accounts
weight: 50 weight: 50
--- ---
You can use the `test-repo` backend to try out Simple CMS without connecting to a Git repo. With this backend, you can write and publish content normally, but any changes will disappear when you reload the page. This backend powers the Simple CMS [demo site](https://cms-demo.netlify.com/). You can use the `test-repo` backend to try out Static CMS without connecting to a Git repo. With this backend, you can write and publish content normally, but any changes will disappear when you reload the page. This backend powers the Static CMS [demo site](https://cms-demo.netlify.com/).
**Note:** The `test-repo` backend can't access your local file system, nor does it connect to a Git repo, thus you won't see any existing files while using it. **Note:** The `test-repo` backend can't access your local file system, nor does it connect to a Git repo, thus you won't see any existing files while using it.
To enable this backend, add the following lines to your Simple CMS `config.yml` file: To enable this backend, add the following lines to your Static CMS `config.yml` file:
```yaml ```yaml
backend: backend:

View File

@ -5,17 +5,17 @@ weight: 30
--- ---
Uploadcare is a sleek service that allows you to upload files without worrying about maintaining a growing collection — more of an asset store than a library. Just upload when you need to, and the files are hosted on their CDN. They provide image processing controls from simple cropping and rotation to filters and face detection, and a lot more. You can check out Uploadcare's full feature set on their [website](https://uploadcare.com/). Uploadcare is a sleek service that allows you to upload files without worrying about maintaining a growing collection — more of an asset store than a library. Just upload when you need to, and the files are hosted on their CDN. They provide image processing controls from simple cropping and rotation to filters and face detection, and a lot more. You can check out Uploadcare's full feature set on their [website](https://uploadcare.com/).
The Uploadcare media library integration for Simple CMS allows you to use Uploadcare as your media handler within the CMS itself. It's available by default as of our 2.1.0 release, and works in tandem with the existing file and image widgets, so using it only requires creating an Uploadcare account and updating your Simple CMS configuration. The Uploadcare media library integration for Static CMS allows you to use Uploadcare as your media handler within the CMS itself. It's available by default as of our 2.1.0 release, and works in tandem with the existing file and image widgets, so using it only requires creating an Uploadcare account and updating your Static CMS configuration.
**Please make sure that Simple CMS is updated to 2.1.0 or greater before proceeding.** **Please make sure that Static CMS is updated to 2.1.0 or greater before proceeding.**
## Creating an Uploadcare Account ## Creating an Uploadcare Account
You can [sign up](https://uploadcare.com/accounts/signup/) for a free Uploadcare account to get started. Once you've signed up, go to your dashboard, select a project, and then select "API keys" from the menu on the left. The public key on the API keys page will be needed in your Simple CMS configuration. For more info on getting your API key, visit their [walkthrough](https://uploadcare.com/docs/keys/). You can [sign up](https://uploadcare.com/accounts/signup/) for a free Uploadcare account to get started. Once you've signed up, go to your dashboard, select a project, and then select "API keys" from the menu on the left. The public key on the API keys page will be needed in your Static CMS configuration. For more info on getting your API key, visit their [walkthrough](https://uploadcare.com/docs/keys/).
## Updating Simple CMS Configuration ## Updating Static CMS Configuration
The next and final step is updating your Simple CMS configuration file: The next and final step is updating your Static CMS configuration file:
1. Add a `media_library` property at the same level as `media_folder`, with an object as it's value. 1. Add a `media_library` property at the same level as `media_folder`, with an object as it's value.
2. In the `media_library` object, add the name of the media player under `name`. 2. In the `media_library` object, add the name of the media player under `name`.
@ -30,15 +30,15 @@ media_library:
publicKey: YOUR_UPLOADCARE_PUBLIC_KEY publicKey: YOUR_UPLOADCARE_PUBLIC_KEY
``` ```
Once you've finished updating your Simple CMS configuration, the Uploadcare widget will appear when using the image or file widgets. Once you've finished updating your Static CMS configuration, the Uploadcare widget will appear when using the image or file widgets.
**Note:** You'll need to [register the media libraries yourself](https://www.simplecms.github.io/simple-cms/blog/2019/07/netlify-cms-gatsby-plugin-4-0-0#using-media-libraries-with-netlify-cms-app). **Note:** You'll need to [register the media libraries yourself](https://www.staticjscms.github.io/static-cms/blog/2019/07/netlify-cms-gatsby-plugin-4-0-0#using-media-libraries-with-netlify-cms-app).
## Configuring the Uploadcare Widget ## Configuring the Uploadcare Widget
The Uploadcare widget can be configured with settings that are outlined [in their docs](https://uploadcare.com/docs/file_uploads/widget/options/). The widget itself accepts configuration through global variables and data properties on HTML elements, but with Simple CMS you can pass configuration options directly through your `config.yml`. The Uploadcare widget can be configured with settings that are outlined [in their docs](https://uploadcare.com/docs/file_uploads/widget/options/). The widget itself accepts configuration through global variables and data properties on HTML elements, but with Static CMS you can pass configuration options directly through your `config.yml`.
**Note:** all default values described in Uploadcare's documentation also apply in the Simple CMS integration, except for `previewStep`, which is set to `true`. This was done because the preview step provides helpful information like upload status, and provides access to image editing controls. This option can be disabled through the configuration options below. **Note:** all default values described in Uploadcare's documentation also apply in the Static CMS integration, except for `previewStep`, which is set to `true`. This was done because the preview step provides helpful information like upload status, and provides access to image editing controls. This option can be disabled through the configuration options below.
### Global configuration ### Global configuration

View File

@ -4,11 +4,11 @@ group: Fields
weight: 10 weight: 10
--- ---
Widgets define the data type and interface for entry fields. Simple CMS comes with several built-in widgets. Click the widget names in the sidebar to jump to specific widget details. Were always adding new widgets, and you can also [create your own](../custom-widgets)! Widgets define the data type and interface for entry fields. Static CMS comes with several built-in widgets. Click the widget names in the sidebar to jump to specific widget details. Were always adding new widgets, and you can also [create your own](../custom-widgets)!
Widgets are specified as collection fields in the Simple CMS `config.yml` file. Note that [YAML syntax](https://en.wikipedia.org/wiki/YAML#Basic_components) allows lists and objects to be written in block or inline style, and the code samples below include a mix of both. Widgets are specified as collection fields in the Static CMS `config.yml` file. Note that [YAML syntax](https://en.wikipedia.org/wiki/YAML#Basic_components) allows lists and objects to be written in block or inline style, and the code samples below include a mix of both.
To see working examples of all of the built-in widgets, try making a 'Kitchen Sink' collection item on the [CMS demo site](https://cms-demo.netlify.com). (No login required: click the login button and the CMS will open.) You can refer to the demo [configuration code](https://github.com/SimpleCMS/simple-cms/blob/master/dev-test/config.yml) to see how each field was configured. To see working examples of all of the built-in widgets, try making a 'Kitchen Sink' collection item on the [CMS demo site](https://cms-demo.netlify.com). (No login required: click the login button and the CMS will open.) You can refer to the demo [configuration code](https://github.com/StaticJsCMS/static-cms/blob/master/dev-test/config.yml) to see how each field was configured.
## Common widget options ## Common widget options

View File

@ -14,7 +14,7 @@ The markdown widget provides a full fledged text editor allowing users to format
* `default`: accepts markdown content * `default`: accepts markdown content
* `minimal`: accepts a boolean value, `false` by default. Sets the widget height to minimum possible. * `minimal`: accepts a boolean value, `false` by default. Sets the widget height to minimum possible.
* `buttons`: an array of strings representing the formatting buttons to display (all shown by default). Buttons include: `bold`, `italic`, `code`, `link`, `heading-one`, `heading-two`, `heading-three`, `heading-four`, `heading-five`, `heading-six`, `quote`, `bulleted-list`, and `numbered-list`. * `buttons`: an array of strings representing the formatting buttons to display (all shown by default). Buttons include: `bold`, `italic`, `code`, `link`, `heading-one`, `heading-two`, `heading-three`, `heading-four`, `heading-five`, `heading-six`, `quote`, `bulleted-list`, and `numbered-list`.
* `editor_components`: an array of strings representing the names of editor components to display (all shown by default). Simple CMS includes `image` and `code-block` editor components by default, and custom components may be [created and registered](/docs/custom-widgets/#registereditorcomponent). * `editor_components`: an array of strings representing the names of editor components to display (all shown by default). Static CMS includes `image` and `code-block` editor components by default, and custom components may be [created and registered](/docs/custom-widgets/#registereditorcomponent).
* `modes`: an array of strings representing the names of allowed editor modes. Possible modes are `raw` and `rich_text`. A toggle button appears in the toolbar when more than one mode is available. * `modes`: an array of strings representing the names of allowed editor modes. Possible modes are `raw` and `rich_text`. A toggle button appears in the toolbar when more than one mode is available.
* `sanitize_preview`: accepts a boolean value, `false` by default. Sanitizes markdown preview to prevent XSS attacks - might alter the preview content. * `sanitize_preview`: accepts a boolean value, `false` by default. Sanitizes markdown preview to prevent XSS attacks - might alter the preview content.
* **Example:** * **Example:**

View File

@ -4,7 +4,7 @@ weight: 30
group: Contributing group: Contributing
--- ---
# Simple CMS Style Guide # Static CMS Style Guide
_Adapted from the [Kubernetes Style Guide](https://kubernetes.io/docs/contribute/style/style-guide)_ _Adapted from the [Kubernetes Style Guide](https://kubernetes.io/docs/contribute/style/style-guide)_
## Documentation Formatting Standards ## Documentation Formatting Standards
@ -217,7 +217,7 @@ Do: Version 1.4 includes …
Don't: In version 1.4, we have added … Don't: In version 1.4, we have added …
_____ _____
Do: Simple CMS provides a new feature for … Do: Static CMS provides a new feature for …
Don't: We provide a new feature … Don't: We provide a new feature …
_____ _____

View File

@ -5,18 +5,18 @@ subhead: Get support, give support, and find out what's new through the channels
sections: sections:
- title: support - title: support
channels: channels:
- title: Simple CMS Slack - title: Static CMS Slack
description: Live community chat for all things Simple CMS. description: Live community chat for all things Static CMS.
url: /chat url: /chat
- title: Simple CMS Community - title: Static CMS Community
description: Ask and answer questions on GitHub discussions tab. description: Ask and answer questions on GitHub discussions tab.
url: https://github.com/SimpleCMS/simple-cms/discussions url: https://github.com/StaticJsCMS/static-cms/discussions
- title: GitHub Issues - title: GitHub Issues
description: Report bugs, request features, and comment on existing issues. description: Report bugs, request features, and comment on existing issues.
url: https://github.com/SimpleCMS/simple-cms/issues url: https://github.com/StaticJsCMS/static-cms/issues
- title: development - title: development
channels: channels:
- title: Planning - title: Planning
description: Issues board on the Simple CMS GitHub repo. description: Issues board on the Static CMS GitHub repo.
url: https://github.com/orgs/SimpleCMS/projects/1 url: https://github.com/orgs/StaticJsCMS/projects/1
--- ---

View File

@ -1,6 +1,6 @@
footer: footer:
buttons: buttons:
- name: "Twitter" - name: "Twitter"
url: "https://twitter.com/SimpleCMSOrg" url: "https://twitter.com/StaticJsCMS"
- name: "GitHub" - name: "GitHub"
url: "https://github.com/SimpleCMS/simple-cms" url: "https://github.com/StaticJsCMS/static-cms"

View File

@ -1,13 +1,13 @@
hero: hero:
headline: "Open source content management for your Git&nbsp;workflow" headline: "Open source content management for your Git&nbsp;workflow"
subhead: "Use Simple CMS with any static site generator for a faster and more flexible web&nbsp;project" subhead: "Use Static CMS with any static site generator for a faster and more flexible web&nbsp;project"
devfeatures: devfeatures:
- feature: "Static + content management = ♥" - feature: "Static + content management = ♥"
description: "Get the speed, security, and scalability of a static site, while still providing a convenient editing interface for content." description: "Get the speed, security, and scalability of a static site, while still providing a convenient editing interface for content."
- feature: "An integrated part of your Git workflow" - feature: "An integrated part of your Git workflow"
description: "Content is stored in your Git repository alongside your code for easier versioning, multi-channel publishing, and the option to handle content updates directly in Git." description: "Content is stored in your Git repository alongside your code for easier versioning, multi-channel publishing, and the option to handle content updates directly in Git."
- feature: "An extensible CMS built on React" - feature: "An extensible CMS built on React"
description: "Simple CMS is built as a single-page React app. Create custom-styled previews, UI widgets, and editor plugins or add backends to support different Git platform APIs." description: "Static CMS is built as a single-page React app. Create custom-styled previews, UI widgets, and editor plugins or add backends to support different Git platform APIs."
cta: cta:
primaryhook: "Getting started is simple and free." primaryhook: "Getting started is simple and free."
@ -32,10 +32,10 @@ community:
hook: "Supported by a growing&nbsp;community" hook: "Supported by a growing&nbsp;community"
features: features:
- feature: "Built on the Jamstack" - feature: "Built on the Jamstack"
description: "Simple CMS is based on client-side JavaScript, reusable APIs and prebuilt Markup. Compared to server-side CMS like WordPress, this means better performance, higher security, lower cost of scaling, and a better developer experience. You can learn more about the Jamstack on [jamstack.org](https://jamstack.org)." description: "Static CMS is based on client-side JavaScript, reusable APIs and prebuilt Markup. Compared to server-side CMS like WordPress, this means better performance, higher security, lower cost of scaling, and a better developer experience. You can learn more about the Jamstack on [jamstack.org](https://jamstack.org)."
- feature: "Support when you need it" - feature: "Support when you need it"
description: "Get up and running with comprehensive [documentation](/docs) and templates or work through difficult problems in our [community chat](https://simplecms.github.io/simple-cms/chat)." description: "Get up and running with comprehensive [documentation](/docs) and templates or work through difficult problems in our [community chat](https://staticjscms.github.io/static-cms/chat)."
- feature: "A community-driven project you can help evolve" - feature: "A community-driven project you can help evolve"
description: "Simple CMS is built by a community of more than 100 contributors — and you can help. Read the [contributing guide](/docs/contributor-guide) to join in." description: "Static CMS is built by a community of more than 100 contributors — and you can help. Read the [contributing guide](/docs/contributor-guide) to join in."
contributors: "Made possible by awesome contributors" contributors: "Made possible by awesome contributors"

View File

@ -4,4 +4,4 @@ notifications:
project with other devs! project with other devs!
published: false published: false
title: Chat shoutout title: Chat shoutout
url: https://simplecms.github.io/simple-cms/chat url: https://staticjscms.github.io/static-cms/chat

View File

@ -1,5 +1,5 @@
updates: updates:
- date: 2022-10-30T00:00:00.000Z - date: 2022-10-30T00:00:00.000Z
version: 1.0.0 version: 1.0.0
description: The first major release of Simple CMS with an all-new UI, revamped description: The first major release of Static CMS with an all-new UI, revamped
documentation and much more. documentation and much more.

Some files were not shown because too many files have changed in this diff Show More