relax
New generation CMS on top of React, Redux and GraphQL
File Explorer
Download Latest Version (.zip)- file-mock.js
- style-mock.js
- fontawesome-webfont.eot
- fontawesome-webfont.svg
- fontawesome-webfont.ttf
- fontawesome-webfont.woff
- fontawesome-webfont.woff2
- FontAwesome.otf
- MaterialIcons-Regular.eot
- MaterialIcons-Regular.ttf
- MaterialIcons-Regular.woff
- MaterialIcons-Regular.woff2
- fonts_icons.png
- dark-pattern.png
- data-schema-icon.png
- favicon.ico
- loading.gif
- logo.png
- logo@2x.png
- logo@3x.png
- logo_big.png
- relax.png
- relax@2x.png
- relax@3x.png
- url-schema-icon.png
- Dockerfile
- nginx.conf
- docker-compose-common.yml
- docker-compose-staging.yml
- docker-compose.yml
- links.yml
- nav.yml
- contributing.md
- elements.md
- getting-started.md
- input-options.md
- favicon.ico
- logo-white.png
- logo.png
- logo_small.png
- docker.md
- installation.md
- browserstack.png
- browserstack.svg
- change-log.md
- index.md
- default.swig
- _code.scss
- _content.scss
- _menu.scss
- _typography.scss
- bootstrap.min.css
- docs.scss
- font-awesome.min.css
- fontawesome-webfont.eot
- fontawesome-webfont.svg
- fontawesome-webfont.ttf
- fontawesome-webfont.woff
- fontawesome-webfont.woff2
- FontAwesome.otf
- _config.yml
- .gitignore
- .npmignore
- _config.yml
- package.json
- readme.md
- yarn.lock
- render-routes.js
- admin.js
- auth.js
- public.js
- clean-item-refs.js
- clean-model-refs.js
- update-item.js
- add.js
- duplicate.js
- index.js
- remove.js
- update.js
- drop.js
- index.js
- save.js
- update.js
- index.js
- remove.js
- upload.js
- add.js
- index.js
- remove.js
- add.js
- index.js
- remove.js
- update.js
- add.js
- duplicate.js
- index.js
- remove.js
- update.js
- index.js
- restore.js
- add.js
- index.js
- remove.js
- restore.js
- update.js
- add.js
- index.js
- remove.js
- update.js
- index.js
- save.js
- add.js
- index.js
- remove.js
- update.js
- add.js
- index.js
- update.js
- add.js
- index.js
- remove.js
- add.js
- index.js
- remove.js
- update.js
- add.js
- index.js
- remove.js
- update.js
- index.js
- colors.js
- index.js
- draft.js
- index.js
- schema-list-count.js
- schema-list.js
- index.js
- media-count.js
- media.js
- index.js
- menu.js
- menus-count.js
- menus.js
- index.js
- page.js
- pages-count.js
- pages.js
- index.js
- revisions.js
- index.js
- schema-entry.js
- schema-list-count.js
- schema-list.js
- index.js
- schema.js
- schemas-count.js
- schemas.js
- index.js
- setting.js
- settings.js
- index.js
- styles.js
- index.js
- symbol.js
- symbols.js
- index.js
- tabs.js
- index.js
- template.js
- templates-count.js
- templates.js
- index.js
- session.js
- user.js
- users-count.js
- users.js
- index.js
- schema-entry-input.js
- schema-entry.js
- buildable.js
- color-input.js
- color.js
- count.js
- custom-font-input.js
- custom-font.js
- draft-input.js
- draft.js
- filter.js
- input-file.js
- media-input.js
- media.js
- menu-data.js
- menu-input.js
- menu.js
- page-input.js
- page.js
- revision.js
- schema-entry-input.js
- schema-entry.js
- schema-input.js
- schema.js
- setting-input.js
- setting.js
- style-input.js
- style.js
- symbol-input.js
- symbol.js
- tab-item.js
- tab.js
- template.js
- uploaded-input.js
- uploaded.js
- user-input.js
- user.js
- authorize.js
- get-model-from-type.js
- query-pagination.js
- admin-init.js
- fonts.js
- google-analytics.js
- index.js
- color.js
- draft.js
- index.js
- media.js
- menu.js
- migration.js
- page.js
- revision.js
- schema-entry.js
- schema.js
- setting.js
- style.js
- symbol.js
- tab.js
- template.js
- user.js
- admin.js
- auth.js
- index.js
- media.js
- public.js
- html.jsx
- drop-collection.js
- rename-property.js
- build-logger-config.js
- create-image-thumbnail.js
- default-favicon.js
- file-mimetype.js
- get-base-component.js
- get-markup.js
- get-projection.js
- get-unique-slug.js
- render-html.js
- resize-image.js
- route-handler.js
- safe-html-string.js
- write-file.js
- schema-single-static-properties.js
- index.js
- logger.js
- migrate.js
- schema.js
- admin-menu.js
- colors.js
- display.js
- dnd.js
- draft.js
- fonts.js
- index.js
- media.js
- menu.js
- page-builder.js
- page.js
- revision.js
- schema-entry.js
- schema.js
- settings.js
- styles-map.js
- styles.js
- symbol.js
- tabs.js
- template.js
- users.js
- index.jsx
- index.less
- index.jsx
- draggable.jsx
- index.js
- dragger.jsx
- dragger.less
- index.js
- add-balloon.jsx
- add-balloon.less
- droppable.jsx
- droppable.less
- index.js
- marker.jsx
- marker.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.js
- link.jsx
- index.jsx
- index.less
- index.jsx
- index.jsx
- index.less
- index.jsx
- index.less
- index.js
- styles.jsx
- a.jsx
- animate-props.jsx
- animate.jsx
- background-image.jsx
- component.jsx
- image.jsx
- portal.jsx
- bind.js
- debounce.js
- query-props.jsx
- index.jsx
- settings.js
- classes.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- index.jsx
- props-schema.js
- settings.js
- index.jsx
- props-schema.jsx
- settings.js
- container.js
- dynamic-list.jsx
- entry.jsx
- entry.less
- index.jsx
- props-schema.js
- row.jsx
- row.less
- settings.js
- index.jsx
- props-schema.js
- settings.js
- index.jsx
- props-schema.js
- settings.js
- container.js
- google-map.jsx
- index.jsx
- props-schema.js
- settings.js
- style.js
- classes.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- classes.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- classes.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- button.jsx
- classes.js
- index.js
- menu.jsx
- props-schema.js
- settings.js
- style.js
- sub-button.jsx
- button.jsx
- classes.js
- index.js
- menu.jsx
- props-schema.js
- settings.js
- style.js
- sub-button.jsx
- index.jsx
- props-schema.js
- settings.js
- style.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- editing.jsx
- editing.less
- index.js
- classes.js
- index.js
- props-schema.js
- settings.js
- symbol.jsx
- classes.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- classes.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- classes.js
- index.jsx
- props-schema.js
- settings.js
- index.jsx
- props-schema.js
- settings.js
- style.js
- .gitignore
- .npmignore
- index.js
- calculate-admin.js
- calculate-links.js
- calculate.js
- get-links-values.js
- get-props.js
- get-style-values.js
- get-by-action.js
- get-webfontloader.js
- load-fonts.js
- categories.js
- get-active-context-fragment.js
- get-context-fragment.js
- get-element-path.js
- get-element.js
- get-links-properties-map.js
- is-context-equal.js
- is-element-selected.js
- schema-link-actions.js
- update-context-fragment.js
- colors.js
- css.js
- helpers.js
- layout-options.js
- children.js
- element.js
- index.js
- links.js
- configure-store.js
- ga-send.js
- get-gravatar-image.js
- get-settings.js
- mime-types.js
- parse-settings.js
- schema-filter-default-options.js
- shallow-equal.js
- styles-manager.js
- stylesheet.js
- truncate-html.js
- utils.js
- .eslintrc
- admin-menu.js
- color.js
- display.js
- dnd.js
- fonts.js
- index.js
- media.js
- menu.js
- page-builder.js
- template.js
- draft.js
- fragments.js
- .eslintrc
- actions.test.js
- check-selection.test.js
- elements-menu.test.js
- fragments.test.js
- menu.test.js
- selection.test.js
- states.test.js
- .eslintrc
- add-link.js
- add.js
- change-animation.js
- change-children.js
- change-content.js
- change-label.js
- change-link-action.js
- change-prop.js
- change-style-prop.js
- change-style.js
- duplicate.js
- index.js
- make-dynamic.js
- move.js
- remove-link.js
- remove.js
- add-children.js
- change-doc-context.js
- clone-children.js
- get-doc-from-context.js
- get-id.js
- in-path.js
- remove-children.js
- add-link.js
- add.js
- change-animation.js
- change-children.js
- change-content.js
- change-doc-property.js
- change-label.js
- change-link-action.js
- change-prop.js
- change-style-prop.js
- change-style.js
- duplicate.js
- index.js
- make-dynamic.js
- move.js
- remove-link.js
- remove.js
- actions.js
- check-selection.js
- elements-menu.js
- fragments.js
- index.js
- menu.js
- selection.js
- states.js
- admin-menu.js
- color.js
- display.js
- dnd.js
- fonts.js
- index.js
- index.public.js
- media.js
- menu.js
- schema-entry.js
- schema.js
- settings.js
- styles-map.js
- styles.js
- symbols.js
- template.js
- user.js
- admin.js
- auth.js
- public.js
- index.jsx
- index.less
- index.jsx
- index.less
- content-types.jsx
- content-types.less
- index.js
- menu.jsx
- menu.less
- user.jsx
- user.less
- index.js
- save-status.jsx
- index.js
- tab.jsx
- tab.less
- tabs.jsx
- tabs.less
- actions.jsx
- actions.less
- back.jsx
- back.less
- display.jsx
- display.less
- displays.jsx
- displays.less
- index.js
- index.jsx
- index.less
- index.js
- new.jsx
- new.less
- colors.jsx
- colors.less
- entry.jsx
- entry.less
- list.jsx
- index.js
- custom.jsx
- custom.less
- font.jsx
- font.less
- index.js
- index.js
- provider.jsx
- provider.less
- index.js
- manage.jsx
- manage.less
- tab-button.jsx
- tab-button.less
- entry.jsx
- entry.less
- fonts.jsx
- fonts.less
- list.jsx
- preview-text.jsx
- preview-text.less
- index.js
- index.js
- item.jsx
- item.less
- uploading.jsx
- uploading.less
- entry.jsx
- entry.less
- list.jsx
- media.jsx
- media.less
- menu.jsx
- menu.less
- sorting.jsx
- sorting.less
- index.js
- menu.js
- index.js
- new.jsx
- content.jsx
- content.less
- entry.jsx
- entry.less
- list.jsx
- menu.jsx
- index.js
- link.jsx
- link.less
- index.js
- menu.jsx
- menu.less
- index.js
- pages.jsx
- pages.less
- builder.jsx
- builder.less
- collapsable.jsx
- collapsable.less
- entry.jsx
- entry.less
- index.js
- menu.jsx
- menu.less
- state.jsx
- state.less
- index.js
- index.js
- menu.js
- entry.jsx
- entry.less
- list.jsx
- menu.jsx
- pages.jsx
- pages.less
- revisions.js
- index.js
- index.js
- menu.js
- index.js
- list.jsx
- list.less
- index.jsx
- index.less
- index.js
- index.js
- form.jsx
- form.less
- index.js
- index.js
- index.jsx
- index.less
- save.jsx
- save.less
- index.js
- builder.jsx
- index.js
- model.jsx
- model.less
- name.jsx
- name.less
- progress.jsx
- progress.less
- template.jsx
- template.less
- type.jsx
- type.less
- types.jsx
- types.less
- index.js
- index.js
- new.jsx
- entry.jsx
- entry.less
- list.jsx
- menu.jsx
- menu.less
- schema.jsx
- schema.less
- revisions.js
- index.js
- index.js
- menu.js
- form.jsx
- form.less
- index.js
- index.jsx
- index.less
- permission.jsx
- permission.less
- index.js
- properties.jsx
- properties.less
- property-options.jsx
- property-options.less
- property.jsx
- property.less
- index.js
- schema-template-picker.jsx
- schema-template-picker.less
- menu.jsx
- menu.less
- index.js
- index.js
- index.js
- index.js
- form.jsx
- form.less
- index.js
- menu.js
- entry.jsx
- entry.less
- index.jsx
- index.less
- list.jsx
- menu.jsx
- revisions.js
- index.js
- index.js
- menu.js
- index.js
- new.jsx
- entry.jsx
- entry.less
- list.jsx
- users.jsx
- index.jsx
- index.less
- index.js
- index.js
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.js
- index.less
- entry.jsx
- entry.less
- index.js
- templates.jsx
- templates.less
- content-page-builder.jsx
- content-page-builder.less
- index.js
- toggle-button.jsx
- toggle-button.less
- index.jsx
- index.less
- item.jsx
- item.less
- index.jsx
- index.less
- revision.jsx
- revision.less
- index.jsx
- index.less
- index.jsx
- index.less
- cell.jsx
- cell.less
- index.jsx
- index.less
- line.jsx
- line.less
- index.jsx
- index.less
- button.jsx
- button.less
- index.jsx
- index.less
- index.jsx
- index.less
- value.jsx
- value.less
- index.jsx
- index.less
- context-menu.jsx
- context-menu.less
- index.js
- edit-image.jsx
- edit-image.less
- entry.jsx
- entry.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- edit.jsx
- index.jsx
- index.less
- shadow.jsx
- shadow.less
- index.js
- button.jsx
- button.less
- index.jsx
- index.jsx
- index.less
- color-palette-picker.jsx
- color-palette-picker.less
- color-picker.jsx
- color-picker.less
- color.jsx
- color.less
- colors-collection.jsx
- colors-collection.less
- edit.jsx
- edit.less
- gradient-points.jsx
- gradient-points.less
- hue.jsx
- hue.less
- index.js
- input.jsx
- input.less
- inputs.jsx
- inputs.less
- linear-gradient.jsx
- linear-gradient.less
- opacity.jsx
- opacity.less
- radial-gradient.jsx
- radial-gradient.less
- radial-radius.jsx
- radial-radius.less
- sat-light.jsx
- sat-light.less
- types.jsx
- types.less
- index.jsx
- index.less
- option.jsx
- option.less
- options.jsx
- options.less
- index.jsx
- index.less
- entry.jsx
- entry.less
- index.jsx
- index.less
- calendar.jsx
- calendar.less
- day.jsx
- day.less
- index.jsx
- index.less
- button.jsx
- button.less
- index.jsx
- edit.jsx
- filter.jsx
- filters.jsx
- index.js
- dropdown.jsx
- dropdown.less
- font-picker.jsx
- font-picker.less
- font.jsx
- font.less
- index.js
- family-button.jsx
- family-button.less
- icon-selector.jsx
- icon-selector.less
- icon.jsx
- icon.less
- index.js
- list.jsx
- list.less
- sidebar.jsx
- sidebar.less
- icon-picker.jsx
- icon-picker.less
- index.js
- index.js
- picker.jsx
- picker.less
- index.jsx
- index.less
- index.jsx
- index.less
- type.jsx
- type.less
- index.jsx
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- edit.jsx
- index.js
- sort.jsx
- sorts.jsx
- index.jsx
- index.less
- edit.jsx
- index.jsx
- index.less
- shadow.jsx
- shadow.less
- index.js
- index.js
- user.jsx
- user.less
- users.jsx
- users.less
- index.js
- user.jsx
- user.less
- index.js
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.js
- selected.jsx
- selected.less
- entry.jsx
- entry.less
- filters.jsx
- filters.less
- index.js
- list.jsx
- list.less
- media-selector.jsx
- media-selector.less
- mock-entry.jsx
- mock-entry.less
- sidebar.jsx
- sidebar.less
- top-bar.jsx
- top-bar.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.js
- new.jsx
- index.js
- index.jsx
- index.less
- option.jsx
- index.jsx
- index.less
- index.jsx
- index.less
- element.jsx
- element.less
- highlight.jsx
- highlight.less
- index.js
- index.jsx
- index.less
- empty.jsx
- empty.less
- index.js
- canvas.jsx
- canvas.less
- empty.jsx
- empty.less
- index.js
- no-links.jsx
- no-links.less
- autocomplete.jsx
- autocomplete.less
- elements-menu.jsx
- elements-menu.less
- index.js
- list.jsx
- list.less
- search.jsx
- search.less
- index.js
- page-builder.jsx
- page-builder.less
- actions.jsx
- actions.less
- index.js
- breadcrumbs.jsx
- breadcrumbs.less
- entry.jsx
- entry.less
- index.js
- empty.jsx
- empty.less
- entry.jsx
- entry.less
- index.js
- index.less
- index.js
- layers.jsx
- layers.less
- index.js
- link-line.jsx
- linking-data.jsx
- linking-data.less
- linking.jsx
- linking.less
- list-entry.jsx
- list-entry.less
- list.jsx
- property-link.jsx
- property-link.less
- property.jsx
- property.less
- animation.jsx
- index.js
- props.jsx
- props.less
- settings.jsx
- settings.less
- editing.jsx
- editing.less
- index.js
- save.jsx
- save.less
- entry.jsx
- entry.less
- index.js
- list.jsx
- index.js
- selected.jsx
- selected.less
- style-picker.jsx
- style-picker.less
- index.js
- style-tab.jsx
- index.js
- tab-button.jsx
- tab-button.less
- tab-empty.jsx
- tab-empty.less
- tabs.jsx
- tabs.less
- index.js
- menu.jsx
- menu.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.less
- index.jsx
- index.jsx
- index.jsx
- index.jsx
- index.jsx
- index.jsx
- index.less
- index.jsx
- index.less
- index.js
- user.jsx
- user.less
- index.js
- index.jsx
- index.less
- index.jsx
- index.less
- options.js
- .eslintrc
- map-settings-ids-tests.js
- get-lazy-load-filters.js
- map-settings-ids.js
- index.js
- index.jsx
- index.less
- init.jsx
- index.js
- login.jsx
- index.js
- auth.less
- index.jsx
- index.less
- index.js
- index.js
- index.jsx
- index.jsx
- index.js
- index.js
- viewer.jsx
- index.js
- index.js
- native.js
- default-fonts.js
- default-fvds.js
- displays.js
- icons.js
- schema-special-properties.js
- schema-static-properties.js
- settings-keys.js
- units.js
- index.less
- index.less
- colors.less
- element.less
- normalize.less
- sizes.less
- .gitempty
- .gitignore
- webpack.browser.config.js
- webpack.node.config.js
- webpack.config.js
- webpack.config.js
- .babelrc
- .dockerignore
- .eslintrc
- .gitignore
- .npmignore
- .relaxrc.sample
- .travis.yml
- app.js
- config.js
- Dockerfile
- LICENSE
- package.json
- README.md
- ROADMAP.md
- yarn.lock
# Installation Guide
1. Get the code
git clone https://github.com/relax/relax
Downloads the entire project code from GitHub to your computer.
cd relax
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose -f docker/docker-compose.yml up -d --build
Runs the command against the services defined in the compose file.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
3. Node.js
EasyPrerequisites
yarn
Downloads and installs the libraries listed in package.json.
yarn build
Builds optimized production files.
yarn start
Starts the development/run server.
After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.
Pulled directly from this repo's README.
// repository documentation
Was this content helpful?
(0 ratings)
