elabs 2.0.0.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.eslintrc.yml +26 -0
- data/.gitignore +49 -0
- data/.gitlab-ci.yml +93 -0
- data/.haml-lint.yml +4 -0
- data/.node-version +1 -0
- data/.rspec +1 -0
- data/.rubocop.yml +59 -0
- data/.ruby-version +1 -0
- data/.simplecov +5 -0
- data/.stylelintrc.yml +218 -0
- data/CHANGELOG.md +273 -0
- data/CODE_OF_CONDUCT.md +78 -0
- data/Gemfile +75 -0
- data/Gemfile.lock +376 -0
- data/LICENSE +21 -0
- data/LICENSES.md +6 -0
- data/README.md +41 -0
- data/ROADMAP.md +61 -0
- data/Rakefile +32 -0
- data/app/assets/config/elabs_manifest.js +3 -0
- data/app/assets/images/elabs/preview_placeholder.png +0 -0
- data/app/assets/images/elabs/preview_placeholder_nsfw.png +0 -0
- data/app/assets/javascripts/elabs/application.js +27 -0
- data/app/assets/javascripts/elabs/helpers-codemirror.js +29 -0
- data/app/assets/javascripts/elabs/helpers-markdown.js +42 -0
- data/app/assets/javascripts/elabs/helpers.js +17 -0
- data/app/assets/javascripts/elabs/modals.js +19 -0
- data/app/assets/javascripts/elabs/tabs.js +32 -0
- data/app/assets/stylesheets/elabs/_colors.scss +345 -0
- data/app/assets/stylesheets/elabs/_icons.scss +9 -0
- data/app/assets/stylesheets/elabs/_variables.scss +13 -0
- data/app/assets/stylesheets/elabs/app/_acts.scss +58 -0
- data/app/assets/stylesheets/elabs/app/_alerts.scss +3 -0
- data/app/assets/stylesheets/elabs/app/_buttons.scss +21 -0
- data/app/assets/stylesheets/elabs/app/_comments.scss +1 -0
- data/app/assets/stylesheets/elabs/app/_content.scss +10 -0
- data/app/assets/stylesheets/elabs/app/_content_uploads.scss +39 -0
- data/app/assets/stylesheets/elabs/app/_empty.scss +19 -0
- data/app/assets/stylesheets/elabs/app/_errors.scss +9 -0
- data/app/assets/stylesheets/elabs/app/_filter_links.scss +27 -0
- data/app/assets/stylesheets/elabs/app/_forms.scss +69 -0
- data/app/assets/stylesheets/elabs/app/_helpers.scss +3 -0
- data/app/assets/stylesheets/elabs/app/_languages.scss +6 -0
- data/app/assets/stylesheets/elabs/app/_layout.scss +194 -0
- data/app/assets/stylesheets/elabs/app/_licenses.scss +6 -0
- data/app/assets/stylesheets/elabs/app/_link-to-top.scss +8 -0
- data/app/assets/stylesheets/elabs/app/_medias.scss +12 -0
- data/app/assets/stylesheets/elabs/app/_modals.scss +53 -0
- data/app/assets/stylesheets/elabs/app/_nsfw.scss +5 -0
- data/app/assets/stylesheets/elabs/app/_pagination.scss +16 -0
- data/app/assets/stylesheets/elabs/app/_tabs.scss +54 -0
- data/app/assets/stylesheets/elabs/app/_tags.scss +6 -0
- data/app/assets/stylesheets/elabs/app/_toolbars.scss +3 -0
- data/app/assets/stylesheets/elabs/app/_users.scss +6 -0
- data/app/assets/stylesheets/elabs/app/admin-members/_forms.scss +6 -0
- data/app/assets/stylesheets/elabs/app/admin-members/_indexes.scss +70 -0
- data/app/assets/stylesheets/elabs/app/admin-members/_layout.scss +17 -0
- data/app/assets/stylesheets/elabs/app/areas/_devise.scss +31 -0
- data/app/assets/stylesheets/elabs/app/components/_cards.scss +16 -0
- data/app/assets/stylesheets/elabs/app/components/_container.scss +4 -0
- data/app/assets/stylesheets/elabs/app/mixins/_classifier-card.scss +16 -0
- data/app/assets/stylesheets/elabs/app/mixins/_content-card.scss +58 -0
- data/app/assets/stylesheets/elabs/app/mixins/_content-full.scss +39 -0
- data/app/assets/stylesheets/elabs/app/mixins/_icon.scss +9 -0
- data/app/assets/stylesheets/elabs/application.css +14 -0
- data/app/assets/stylesheets/elabs/lib/_codemirror.scss +26 -0
- data/app/assets/stylesheets/elabs/lib/fontawesome/_fontawesome.scss +38 -0
- data/app/assets/stylesheets/elabs/lib/fontawesome/_fonts.scss +42 -0
- data/app/assets/stylesheets/elabs/lib/fontawesome/_icons.scss +1118 -0
- data/app/assets/stylesheets/elabs/lib/knacss/_knacss-variables.scss +230 -0
- data/app/assets/stylesheets/elabs/lib/knacss/_knacss.scss +59 -0
- data/app/assets/stylesheets/elabs/style.scss +72 -0
- data/app/controllers/elabs/acts_controller.rb +12 -0
- data/app/controllers/elabs/admin/admin_application_controller.rb +19 -0
- data/app/controllers/elabs/admin/admin_content_application_controller.rb +66 -0
- data/app/controllers/elabs/admin/albums_controller.rb +10 -0
- data/app/controllers/elabs/admin/articles_controller.rb +10 -0
- data/app/controllers/elabs/admin/languages_controller.rb +77 -0
- data/app/controllers/elabs/admin/licenses_controller.rb +77 -0
- data/app/controllers/elabs/admin/notes_controller.rb +10 -0
- data/app/controllers/elabs/admin/projects_controller.rb +10 -0
- data/app/controllers/elabs/admin/reports_controller.rb +34 -0
- data/app/controllers/elabs/admin/tags_controller.rb +56 -0
- data/app/controllers/elabs/admin/uploads_controller.rb +10 -0
- data/app/controllers/elabs/admin/users_controller.rb +43 -0
- data/app/controllers/elabs/albums_controller.rb +26 -0
- data/app/controllers/elabs/articles_controller.rb +25 -0
- data/app/controllers/elabs/auth/callbacks_controller.rb +38 -0
- data/app/controllers/elabs/auth/confirmations_controller.rb +43 -0
- data/app/controllers/elabs/auth/passwords_controller.rb +47 -0
- data/app/controllers/elabs/auth/registrations_controller.rb +70 -0
- data/app/controllers/elabs/auth/sessions_controller.rb +36 -0
- data/app/controllers/elabs/auth/unlocks_controller.rb +38 -0
- data/app/controllers/elabs/concerns/elabs_controller.rb +18 -0
- data/app/controllers/elabs/concerns/localizable.rb +11 -0
- data/app/controllers/elabs/concerns/reportable.rb +17 -0
- data/app/controllers/elabs/content_application_controller.rb +45 -0
- data/app/controllers/elabs/elabs_application_controller.rb +95 -0
- data/app/controllers/elabs/languages_controller.rb +36 -0
- data/app/controllers/elabs/licenses_controller.rb +31 -0
- data/app/controllers/elabs/member/albums_controller.rb +11 -0
- data/app/controllers/elabs/member/articles_controller.rb +11 -0
- data/app/controllers/elabs/member/member_application_controller.rb +12 -0
- data/app/controllers/elabs/member/member_content_application_controller.rb +128 -0
- data/app/controllers/elabs/member/notes_controller.rb +11 -0
- data/app/controllers/elabs/member/preferences_controller.rb +36 -0
- data/app/controllers/elabs/member/projects_controller.rb +11 -0
- data/app/controllers/elabs/member/uploads_controller.rb +11 -0
- data/app/controllers/elabs/member/users_controller.rb +28 -0
- data/app/controllers/elabs/notes_controller.rb +25 -0
- data/app/controllers/elabs/projects_controller.rb +30 -0
- data/app/controllers/elabs/reports_controller.rb +36 -0
- data/app/controllers/elabs/tags_controller.rb +36 -0
- data/app/controllers/elabs/uploads_controller.rb +24 -0
- data/app/controllers/elabs/users_controller.rb +36 -0
- data/app/helpers/elabs/acts_helper.rb +22 -0
- data/app/helpers/elabs/admin_content_helper.rb +54 -0
- data/app/helpers/elabs/application_helper.rb +54 -0
- data/app/helpers/elabs/content_filters_helper.rb +97 -0
- data/app/helpers/elabs/content_renderer_helper.rb +13 -0
- data/app/helpers/elabs/member_content_helper.rb +47 -0
- data/app/helpers/elabs/thumbnails_helper.rb +28 -0
- data/app/helpers/elabs/time_helper.rb +19 -0
- data/app/helpers/elabs/uploads_helper.rb +19 -0
- data/app/jobs/elabs/application_job.rb +4 -0
- data/app/mailers/elabs/application_mailer.rb +6 -0
- data/app/models/elabs/act.rb +7 -0
- data/app/models/elabs/album.rb +24 -0
- data/app/models/elabs/albums_tag.rb +21 -0
- data/app/models/elabs/albums_upload.rb +21 -0
- data/app/models/elabs/application_content_record.rb +10 -0
- data/app/models/elabs/application_record.rb +5 -0
- data/app/models/elabs/article.rb +23 -0
- data/app/models/elabs/articles_tag.rb +21 -0
- data/app/models/elabs/comment.rb +12 -0
- data/app/models/elabs/concerns/actable_entity.rb +52 -0
- data/app/models/elabs/concerns/content_entity.rb +70 -0
- data/app/models/elabs/concerns/countable_entity.rb +81 -0
- data/app/models/elabs/concerns/taggable.rb +33 -0
- data/app/models/elabs/language.rb +17 -0
- data/app/models/elabs/license.rb +15 -0
- data/app/models/elabs/note.rb +21 -0
- data/app/models/elabs/notes_tag.rb +21 -0
- data/app/models/elabs/preference.rb +9 -0
- data/app/models/elabs/project.rb +25 -0
- data/app/models/elabs/projects_album.rb +21 -0
- data/app/models/elabs/projects_article.rb +21 -0
- data/app/models/elabs/projects_note.rb +21 -0
- data/app/models/elabs/projects_tag.rb +21 -0
- data/app/models/elabs/projects_upload.rb +21 -0
- data/app/models/elabs/report.rb +11 -0
- data/app/models/elabs/tag.rb +18 -0
- data/app/models/elabs/upload.rb +28 -0
- data/app/models/elabs/uploads_tag.rb +21 -0
- data/app/models/elabs/user.rb +30 -0
- data/app/validators/elabs/associated_author_validator.rb +11 -0
- data/app/views/elabs/acts/_act.json.jbuilder +2 -0
- data/app/views/elabs/acts/_filters.html.haml +3 -0
- data/app/views/elabs/acts/index.html.haml +27 -0
- data/app/views/elabs/acts/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/albums/_album.json.jbuilder +2 -0
- data/app/views/elabs/admin/albums/index.html.haml +43 -0
- data/app/views/elabs/admin/albums/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/articles/_article.json.jbuilder +2 -0
- data/app/views/elabs/admin/articles/index.html.haml +41 -0
- data/app/views/elabs/admin/articles/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/languages/_form.html.haml +18 -0
- data/app/views/elabs/admin/languages/_language.json.jbuilder +2 -0
- data/app/views/elabs/admin/languages/edit.html.haml +6 -0
- data/app/views/elabs/admin/languages/index.html.haml +34 -0
- data/app/views/elabs/admin/languages/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/languages/new.html.haml +3 -0
- data/app/views/elabs/admin/licenses/_form.html.haml +25 -0
- data/app/views/elabs/admin/licenses/_license.json.jbuilder +2 -0
- data/app/views/elabs/admin/licenses/edit.html.haml +6 -0
- data/app/views/elabs/admin/licenses/index.html.haml +42 -0
- data/app/views/elabs/admin/licenses/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/licenses/new.html.haml +3 -0
- data/app/views/elabs/admin/notes/_note.json.jbuilder +2 -0
- data/app/views/elabs/admin/notes/index.html.haml +40 -0
- data/app/views/elabs/admin/notes/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/projects/_project.json.jbuilder +2 -0
- data/app/views/elabs/admin/projects/index.html.haml +45 -0
- data/app/views/elabs/admin/projects/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/reports/index.html.haml +27 -0
- data/app/views/elabs/admin/reports/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/tags/_form.html.haml +17 -0
- data/app/views/elabs/admin/tags/_tag.json.jbuilder +2 -0
- data/app/views/elabs/admin/tags/edit.html.haml +6 -0
- data/app/views/elabs/admin/tags/index.html.haml +27 -0
- data/app/views/elabs/admin/tags/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/uploads/_upload.json.jbuilder +2 -0
- data/app/views/elabs/admin/uploads/index.html.haml +45 -0
- data/app/views/elabs/admin/uploads/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/users/_admin_user.json.jbuilder +2 -0
- data/app/views/elabs/admin/users/index.html.haml +33 -0
- data/app/views/elabs/admin/users/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/users/show.html.haml +26 -0
- data/app/views/elabs/admin/users/show.json.jbuilder +1 -0
- data/app/views/elabs/albums/_album.html.haml +38 -0
- data/app/views/elabs/albums/_album.json.jbuilder +2 -0
- data/app/views/elabs/albums/_filters.html.haml +8 -0
- data/app/views/elabs/albums/index.html.haml +9 -0
- data/app/views/elabs/albums/index.json.jbuilder +1 -0
- data/app/views/elabs/albums/show.html.haml +60 -0
- data/app/views/elabs/albums/show.json.jbuilder +1 -0
- data/app/views/elabs/articles/_article.html.haml +30 -0
- data/app/views/elabs/articles/_article.json.jbuilder +2 -0
- data/app/views/elabs/articles/_filters.html.haml +8 -0
- data/app/views/elabs/articles/index.html.haml +9 -0
- data/app/views/elabs/articles/index.json.jbuilder +1 -0
- data/app/views/elabs/articles/show.html.haml +45 -0
- data/app/views/elabs/articles/show.json.jbuilder +1 -0
- data/app/views/elabs/auth/confirmations/new.html.haml +26 -0
- data/app/views/elabs/auth/passwords/edit.html.haml +31 -0
- data/app/views/elabs/auth/passwords/new.html.haml +23 -0
- data/app/views/elabs/auth/registrations/edit.html.haml +48 -0
- data/app/views/elabs/auth/registrations/new.html.haml +34 -0
- data/app/views/elabs/auth/sessions/_new.html.haml +15 -0
- data/app/views/elabs/auth/sessions/new.html.haml +8 -0
- data/app/views/elabs/auth/shared/_links.html.haml +16 -0
- data/app/views/elabs/auth/unlocks/new.html.haml +23 -0
- data/app/views/elabs/comments/_comment.json.jbuilder +2 -0
- data/app/views/elabs/comments/_comments.html.haml +21 -0
- data/app/views/elabs/comments/_form.html.haml +31 -0
- data/app/views/elabs/languages/_associations.html.haml +51 -0
- data/app/views/elabs/languages/_filters.html.haml +6 -0
- data/app/views/elabs/languages/_language.json.jbuilder +2 -0
- data/app/views/elabs/languages/index.html.haml +33 -0
- data/app/views/elabs/languages/index.json.jbuilder +1 -0
- data/app/views/elabs/languages/show.html.haml +38 -0
- data/app/views/elabs/languages/show.json.jbuilder +1 -0
- data/app/views/elabs/layouts/_empty.html.haml +3 -0
- data/app/views/elabs/layouts/_footer.html.haml +6 -0
- data/app/views/elabs/layouts/_hidden_entry.html.haml +6 -0
- data/app/views/elabs/layouts/_hidden_entry_full.html.haml +6 -0
- data/app/views/elabs/layouts/_language_menu.html.haml +2 -0
- data/app/views/elabs/layouts/_menu.html.haml +72 -0
- data/app/views/elabs/layouts/admin_application.html.haml +21 -0
- data/app/views/elabs/layouts/application.html.haml +37 -0
- data/app/views/elabs/layouts/lists/_albums.html.haml +10 -0
- data/app/views/elabs/layouts/lists/_projects.html.haml +10 -0
- data/app/views/elabs/layouts/lists/_tags.html.haml +9 -0
- data/app/views/elabs/layouts/mailer.html.haml +8 -0
- data/app/views/elabs/layouts/mailer.text.haml +1 -0
- data/app/views/elabs/layouts/member_application.html.haml +21 -0
- data/app/views/elabs/licenses/_associations.html.haml +51 -0
- data/app/views/elabs/licenses/_filters.html.haml +3 -0
- data/app/views/elabs/licenses/_license.json.jbuilder +2 -0
- data/app/views/elabs/licenses/index.html.haml +27 -0
- data/app/views/elabs/licenses/index.json.jbuilder +1 -0
- data/app/views/elabs/licenses/show.html.haml +44 -0
- data/app/views/elabs/licenses/show.json.jbuilder +1 -0
- data/app/views/elabs/member/albums/_album.json.jbuilder +2 -0
- data/app/views/elabs/member/albums/_form.html.haml +64 -0
- data/app/views/elabs/member/albums/edit.html.haml +6 -0
- data/app/views/elabs/member/albums/index.html.haml +49 -0
- data/app/views/elabs/member/albums/index.json.jbuilder +1 -0
- data/app/views/elabs/member/albums/new.html.haml +3 -0
- data/app/views/elabs/member/articles/_article.json.jbuilder +2 -0
- data/app/views/elabs/member/articles/_form.html.haml +70 -0
- data/app/views/elabs/member/articles/edit.html.haml +6 -0
- data/app/views/elabs/member/articles/index.html.haml +47 -0
- data/app/views/elabs/member/articles/index.json.jbuilder +1 -0
- data/app/views/elabs/member/articles/new.html.haml +3 -0
- data/app/views/elabs/member/layouts/_empty.html.haml +4 -0
- data/app/views/elabs/member/layouts/_markdown-preview.html.haml +8 -0
- data/app/views/elabs/member/notes/_form.html.haml +54 -0
- data/app/views/elabs/member/notes/_note.json.jbuilder +2 -0
- data/app/views/elabs/member/notes/edit.html.haml +6 -0
- data/app/views/elabs/member/notes/index.html.haml +47 -0
- data/app/views/elabs/member/notes/index.json.jbuilder +1 -0
- data/app/views/elabs/member/notes/new.html.haml +3 -0
- data/app/views/elabs/member/preferences/_form.html.haml +20 -0
- data/app/views/elabs/member/preferences/edit.html.haml +3 -0
- data/app/views/elabs/member/projects/_form.html.haml +71 -0
- data/app/views/elabs/member/projects/_project.json.jbuilder +2 -0
- data/app/views/elabs/member/projects/edit.html.haml +6 -0
- data/app/views/elabs/member/projects/index.html.haml +53 -0
- data/app/views/elabs/member/projects/index.json.jbuilder +1 -0
- data/app/views/elabs/member/projects/new.html.haml +3 -0
- data/app/views/elabs/member/uploads/_form.html.haml +67 -0
- data/app/views/elabs/member/uploads/_upload.json.jbuilder +2 -0
- data/app/views/elabs/member/uploads/edit.html.haml +6 -0
- data/app/views/elabs/member/uploads/index.html.haml +61 -0
- data/app/views/elabs/member/uploads/index.json.jbuilder +1 -0
- data/app/views/elabs/member/uploads/new.html.haml +3 -0
- data/app/views/elabs/member/users/_form.html.haml +38 -0
- data/app/views/elabs/notes/_filters.html.haml +7 -0
- data/app/views/elabs/notes/_note.html.haml +31 -0
- data/app/views/elabs/notes/_note.json.jbuilder +2 -0
- data/app/views/elabs/notes/index.html.haml +9 -0
- data/app/views/elabs/notes/index.json.jbuilder +1 -0
- data/app/views/elabs/notes/show.html.haml +44 -0
- data/app/views/elabs/notes/show.json.jbuilder +1 -0
- data/app/views/elabs/projects/_associations.html.haml +46 -0
- data/app/views/elabs/projects/_filters.html.haml +8 -0
- data/app/views/elabs/projects/_project.html.haml +29 -0
- data/app/views/elabs/projects/index.html.haml +9 -0
- data/app/views/elabs/projects/index.json.jbuilder +1 -0
- data/app/views/elabs/projects/show.html.haml +71 -0
- data/app/views/elabs/projects/show.json.jbuilder +1 -0
- data/app/views/elabs/reports/_form.html.haml +29 -0
- data/app/views/elabs/tags/_associations.html.haml +51 -0
- data/app/views/elabs/tags/_filters.html.haml +3 -0
- data/app/views/elabs/tags/_tag.json.jbuilder +2 -0
- data/app/views/elabs/tags/index.html.haml +26 -0
- data/app/views/elabs/tags/index.json.jbuilder +1 -0
- data/app/views/elabs/tags/show.html.haml +34 -0
- data/app/views/elabs/tags/show.json.jbuilder +1 -0
- data/app/views/elabs/uploads/_filters.html.haml +7 -0
- data/app/views/elabs/uploads/_player.html.haml +10 -0
- data/app/views/elabs/uploads/_preview.html.haml +17 -0
- data/app/views/elabs/uploads/_upload.html.haml +41 -0
- data/app/views/elabs/uploads/_upload.json.jbuilder +2 -0
- data/app/views/elabs/uploads/index.html.haml +9 -0
- data/app/views/elabs/uploads/index.json.jbuilder +1 -0
- data/app/views/elabs/uploads/show.html.haml +58 -0
- data/app/views/elabs/uploads/show.json.jbuilder +1 -0
- data/app/views/elabs/users/_associations.html.haml +51 -0
- data/app/views/elabs/users/_filters.html.haml +4 -0
- data/app/views/elabs/users/_user.html.haml +31 -0
- data/app/views/elabs/users/_user.json.jbuilder +2 -0
- data/app/views/elabs/users/index.html.haml +7 -0
- data/app/views/elabs/users/index.json.jbuilder +1 -0
- data/app/views/elabs/users/show.html.haml +48 -0
- data/app/views/elabs/users/show.json.jbuilder +1 -0
- data/bin/rails +14 -0
- data/config.ru +5 -0
- data/config/brakeman.ignore +124 -0
- data/config/brakeman.yml +3 -0
- data/config/cucumber.yml +9 -0
- data/config/routes.rb +116 -0
- data/db/migrate/20180813000000_devise_update_users.rb +15 -0
- data/db/migrate/20180813000001_create_languages.rb +16 -0
- data/db/migrate/20180813000002_create_tags.rb +14 -0
- data/db/migrate/20180813000004_create_licenses.rb +17 -0
- data/db/migrate/20180813000005_create_reports.rb +15 -0
- data/db/migrate/20180813000006_create_comments.rb +15 -0
- data/db/migrate/20180813000007_create_acts.rb +10 -0
- data/db/migrate/20180813000008_create_preferences.rb +13 -0
- data/db/migrate/20180813000009_create_active_storage_tables.active_storage.rb +26 -0
- data/db/migrate/20180813000010_create_albums.rb +23 -0
- data/db/migrate/20180813000011_create_articles.rb +23 -0
- data/db/migrate/20180813000012_create_notes.rb +21 -0
- data/db/migrate/20180813000013_create_uploads.rb +26 -0
- data/db/migrate/20180813000014_create_projects.rb +44 -0
- data/db/seeds.rb +10 -0
- data/db/seeds_development.rb +21 -0
- data/db/seeds_production.rb +0 -0
- data/docs/contributing.md +52 -0
- data/docs/cucumber_terms.md +9 -0
- data/docs/migrating.md +4 -0
- data/docs/overriding.md +20 -0
- data/docs/setup.md +136 -0
- data/docs/tips.md +13 -0
- data/elabs.gemspec +25 -0
- data/lib/assets/javascripts/README-highlight.js.md +39 -0
- data/lib/assets/javascripts/codemirror-5.39.2/addon/mode/overlay.js +90 -0
- data/lib/assets/javascripts/codemirror-5.39.2/lib/codemirror.js +9684 -0
- data/lib/assets/javascripts/codemirror-5.39.2/mode/clike/clike.js +834 -0
- data/lib/assets/javascripts/codemirror-5.39.2/mode/css/css.js +832 -0
- data/lib/assets/javascripts/codemirror-5.39.2/mode/gfm/gfm.js +129 -0
- data/lib/assets/javascripts/codemirror-5.39.2/mode/htmlmixed/htmlmixed.js +152 -0
- data/lib/assets/javascripts/codemirror-5.39.2/mode/javascript/javascript.js +896 -0
- data/lib/assets/javascripts/codemirror-5.39.2/mode/markdown/markdown.js +882 -0
- data/lib/assets/javascripts/codemirror-5.39.2/mode/meta.js +217 -0
- data/lib/assets/javascripts/codemirror-5.39.2/mode/xml/xml.js +402 -0
- data/lib/assets/javascripts/highlight.js-9.12.0/highlight.pack.js +2 -0
- data/lib/assets/javascripts/markdown-it-8.4.2.min.js +1 -0
- data/lib/assets/stylesheets/codemirror-5.39.2/lib/codemirror.css +346 -0
- data/lib/assets/stylesheets/codemirror-5.39.2/theme/base16-dark.css +38 -0
- data/lib/assets/stylesheets/codemirror-5.39.2/theme/base16-light.css +38 -0
- data/lib/assets/stylesheets/highlight.js-9.12.0/styles/atelier-sulphurpool-light.css +69 -0
- data/lib/elabs.rb +41 -0
- data/lib/elabs/engine.rb +5 -0
- data/lib/elabs/version.rb +3 -0
- data/lib/generators/elabs/assets_generator.rb +36 -0
- data/lib/generators/elabs/devise_views_generator.rb +24 -0
- data/lib/generators/elabs/install_generator.rb +26 -0
- data/lib/generators/elabs/required_assets_generator.rb +26 -0
- data/lib/generators/elabs/views_generator.rb +25 -0
- data/lib/generators/templates/elabs.rb +25 -0
- data/lib/generators/templates/fast_gettext.rb +3 -0
- data/lib/tasks/.keep +0 -0
- data/lib/tasks/cucumber.rake +75 -0
- data/lib/tasks/elabs_tasks.rake +4 -0
- data/lib/tasks/factory_bot.rake +14 -0
- data/lib/tasks/wipe.rake +31 -0
- data/locale/app.pot +1124 -0
- data/locale/devise_strings.rb +88 -0
- data/locale/en/app.edit.po +1123 -0
- data/locale/en/app.po +1123 -0
- data/locale/en/app.po.time_stamp +0 -0
- data/locale/fr/app.edit.po +1126 -0
- data/locale/fr/app.po +1125 -0
- data/locale/fr/app.po.time_stamp +0 -0
- data/locale/model_attributes.rb +85 -0
- data/package.json +22 -0
- data/script/cucumber +10 -0
- data/tmp/pids/.keep +0 -0
- data/yarn.lock +2759 -0
- metadata +463 -0
data/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2018 Experiments Labs
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
data/LICENSES.md
ADDED
data/README.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# README
|
|
2
|
+
Rails engine adding CMS features to publish content related to projects.
|
|
3
|
+
An online version can be tested on http://next.experimentslabs.com
|
|
4
|
+
## Features
|
|
5
|
+
|
|
6
|
+
Manage various content types:
|
|
7
|
+
- Articles
|
|
8
|
+
- Notes
|
|
9
|
+
- Files
|
|
10
|
+
- Albums (files collections)
|
|
11
|
+
- Projects (may have everything above attached to them)
|
|
12
|
+
|
|
13
|
+
Classify content:
|
|
14
|
+
- Tags
|
|
15
|
+
- Language
|
|
16
|
+
- Licenses
|
|
17
|
+
|
|
18
|
+
Generic features:
|
|
19
|
+
- Comments (only visible to author)
|
|
20
|
+
- Safe/not safe for work content flags
|
|
21
|
+
- Content reporting
|
|
22
|
+
- Site structure translations
|
|
23
|
+
|
|
24
|
+
Features wishlist: check the [roadmap](ROADMAP.md#wonderland) to see
|
|
25
|
+
what's coming.
|
|
26
|
+
|
|
27
|
+
## Known issues:
|
|
28
|
+
JSON views are not created yet. They exists but were created using
|
|
29
|
+
scaffolding and never touched again.
|
|
30
|
+
|
|
31
|
+
## Documentation:
|
|
32
|
+
- [Setup guide](docs/setup.md)
|
|
33
|
+
- [Sample app](https://gitlab.com/experimentslabs/sample_app)
|
|
34
|
+
- [How to override the app](docs/overriding.md)
|
|
35
|
+
- [How to contribute](docs/contributing.md)
|
|
36
|
+
- [Migration guide](docs/migrating.md)
|
|
37
|
+
- [Cucumber: terms used in features](docs/cucumber_terms.md)
|
|
38
|
+
- [Roadmap](ROADMAP.md): incoming changes
|
|
39
|
+
- [Changelog](CHANGELOG.md): last validated changes
|
|
40
|
+
- [Issue tracker](https://gitlab.com/experimentslabs/engine_elabs/issues)
|
|
41
|
+
- [Discussion place: Gitter](https://gitter.im/Experiments-Labs/Lobby)
|
data/ROADMAP.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
All the future changes will be documented here.
|
|
3
|
+
|
|
4
|
+
## [Issues]
|
|
5
|
+
See the [issues](https://gitlab.com/experimentslabs/website/website/issues) for a list.
|
|
6
|
+
|
|
7
|
+
## [Next] - Already done
|
|
8
|
+
### Added
|
|
9
|
+
- Generators to make views/assets override easy
|
|
10
|
+
- Generator to copy needed files and initializer
|
|
11
|
+
- Two controller concerns to easily extend your custom controllers:
|
|
12
|
+
- "ElabsController", used to load Elabs layout and some helpers
|
|
13
|
+
- "Reportable", to prepare an empty report when using elabs layout
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- The app is now an engine.
|
|
17
|
+
|
|
18
|
+
### Improved
|
|
19
|
+
- New documentation
|
|
20
|
+
- Various improvements:
|
|
21
|
+
- Acts strings for notices are now in the "acts" helper
|
|
22
|
+
|
|
23
|
+
### Removed
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- Translations of acts notices are now fixed
|
|
27
|
+
|
|
28
|
+
## Planned
|
|
29
|
+
|
|
30
|
+
Note that the elements in this list may change during development; it' a
|
|
31
|
+
general idea of what will be done next.
|
|
32
|
+
- [2.0.0 (currently working on)] - Make an engine
|
|
33
|
+
- [1.1.0] - JSON views for everything
|
|
34
|
+
- [2.2.0] - Notifications
|
|
35
|
+
- [2.3.0] - Urls table to attach urls to content, share favorites
|
|
36
|
+
- [2.4.0] - Teams to attach user and distant people to projects
|
|
37
|
+
- [2.5.0] - Projects: commits aggregation
|
|
38
|
+
- [2.6.0] - Users: service status aggregation without storage for now
|
|
39
|
+
- [2.7.0] - Raw content for everything
|
|
40
|
+
|
|
41
|
+
## Wonderland
|
|
42
|
+
- ~~Rails engine~~ (since 2.0.0)
|
|
43
|
+
- Avatars for authors
|
|
44
|
+
- Support for custom fields ?
|
|
45
|
+
- Move HTML helpers to decorators (https://github.com/drapergem/draper)
|
|
46
|
+
AND/OR use a better templating system, as [Cells](http://trailblazer.to/gems/cells/)
|
|
47
|
+
- Export raw content (markdown, files)
|
|
48
|
+
- Content translations (community made)
|
|
49
|
+
- Teams (people with common projects)
|
|
50
|
+
- Projects users
|
|
51
|
+
- Sharing across instances
|
|
52
|
+
- Urls management (lists of URLs, favorites, sources,...)
|
|
53
|
+
- Content: code snippets
|
|
54
|
+
- Content references (reference others work in your own work)
|
|
55
|
+
- Better license support (i.e.: html tags for creative commons license)
|
|
56
|
+
- Widgets (to add custom content in created content)
|
|
57
|
+
- Data aggregation from various VCS providers
|
|
58
|
+
- Data aggregation for users profiles from various providers
|
|
59
|
+
- An API ?
|
|
60
|
+
- Sharing things across Elabs instances?
|
|
61
|
+
- ...
|
data/Rakefile
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require 'bundler/setup'
|
|
3
|
+
rescue LoadError
|
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
require 'rdoc/task'
|
|
8
|
+
|
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
10
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
11
|
+
rdoc.title = 'Elabs'
|
|
12
|
+
rdoc.options << '--line-numbers'
|
|
13
|
+
rdoc.rdoc_files.include('README.md')
|
|
14
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
APP_RAKEFILE = File.expand_path('spec/dummy/Rakefile', __dir__)
|
|
18
|
+
load 'rails/tasks/engine.rake'
|
|
19
|
+
|
|
20
|
+
load 'rails/tasks/statistics.rake'
|
|
21
|
+
|
|
22
|
+
require 'bundler/gem_tasks'
|
|
23
|
+
|
|
24
|
+
require 'rake/testtask'
|
|
25
|
+
|
|
26
|
+
Rake::TestTask.new(:test) do |t|
|
|
27
|
+
t.libs << 'test'
|
|
28
|
+
t.pattern = 'test/**/*_test.rb'
|
|
29
|
+
t.verbose = false
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
task default: :test
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
|
2
|
+
// listed below.
|
|
3
|
+
//
|
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
|
5
|
+
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
|
6
|
+
//
|
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
|
8
|
+
// compiled file. JavaScript code in this file should be added after the last require_* statement.
|
|
9
|
+
//
|
|
10
|
+
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
|
11
|
+
// about supported directives.
|
|
12
|
+
//
|
|
13
|
+
//= require rails-ujs
|
|
14
|
+
//= require activestorage
|
|
15
|
+
//= require codemirror-5.39.2/lib/codemirror.js
|
|
16
|
+
//= require codemirror-5.39.2/addon/mode/overlay.js
|
|
17
|
+
//= require codemirror-5.39.2/mode/xml/xml.js
|
|
18
|
+
//= require codemirror-5.39.2/mode/markdown/markdown.js
|
|
19
|
+
//= require codemirror-5.39.2/mode/javascript/javascript.js
|
|
20
|
+
//= require codemirror-5.39.2/mode/css/css.js
|
|
21
|
+
//= require codemirror-5.39.2/mode/htmlmixed/htmlmixed.js
|
|
22
|
+
//= require codemirror-5.39.2/mode/clike/clike.js
|
|
23
|
+
//= require codemirror-5.39.2/mode/meta.js
|
|
24
|
+
//= require codemirror-5.39.2/mode/gfm/gfm.js
|
|
25
|
+
//= require highlight.js-9.12.0/highlight.pack.js
|
|
26
|
+
//= require markdown-it-8.4.2.min.js
|
|
27
|
+
//= require_tree .
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// eslint-disable-next-line no-unused-vars
|
|
2
|
+
function initializeCodeMirrorIn (element) {
|
|
3
|
+
return CodeMirror.fromTextArea(element, {
|
|
4
|
+
lineNumbers: true,
|
|
5
|
+
mode: {
|
|
6
|
+
name: 'gfm',
|
|
7
|
+
tokenTypeOverrides: {
|
|
8
|
+
emoji: 'emoji'
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
theme: 'base16-light'
|
|
12
|
+
})
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// eslint-disable-next-line no-unused-vars
|
|
16
|
+
function limitCMToLength (cm, change) {
|
|
17
|
+
var maxLength = cm.getOption('maxLength')
|
|
18
|
+
if (maxLength && change.update) {
|
|
19
|
+
var str = change.text.join('\n')
|
|
20
|
+
var delta = str.length - (cm.indexFromPos(change.to) - cm.indexFromPos(change.from))
|
|
21
|
+
if (delta <= 0) { return true }
|
|
22
|
+
delta = cm.getValue().length + delta - maxLength
|
|
23
|
+
if (delta > 0) {
|
|
24
|
+
str = str.substr(0, str.length - delta)
|
|
25
|
+
change.update(change.from, change.to, str.split('\n'))
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return true
|
|
29
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// eslint-disable-next-line no-unused-vars
|
|
2
|
+
function createMDPreviewer (cmInstance) {
|
|
3
|
+
var md = window.markdownit()
|
|
4
|
+
|
|
5
|
+
return function (event) {
|
|
6
|
+
event.preventDefault()
|
|
7
|
+
|
|
8
|
+
document.getElementById('content-description-preview').innerHTML = md.render(cmInstance.getValue())
|
|
9
|
+
|
|
10
|
+
openModal('content-preview-modal')
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
* @author Wladimir Palant
|
|
16
|
+
* @source https://stackoverflow.com/questions/1912501/unescape-html-entities-in-javascript/34064434#34064434
|
|
17
|
+
*/
|
|
18
|
+
function htmlDecode (input) {
|
|
19
|
+
if (typeof DOMParser !== 'function') { return input }
|
|
20
|
+
var doc = new DOMParser().parseFromString(input, 'text/html')
|
|
21
|
+
return doc.documentElement.textContent
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// eslint-disable-next-line no-unused-vars
|
|
25
|
+
function renderMdFromId (areaId) {
|
|
26
|
+
var md = window.markdownit({
|
|
27
|
+
highlight: function (str, lang) {
|
|
28
|
+
// Unescape some chars
|
|
29
|
+
str = htmlDecode(str)
|
|
30
|
+
if (lang && hljs.getLanguage(lang)) {
|
|
31
|
+
try {
|
|
32
|
+
return hljs.highlight(lang, str).value
|
|
33
|
+
} catch (__) {}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return '' // use external default escaping
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
var value = document.getElementById('raw-' + areaId).innerHTML
|
|
40
|
+
|
|
41
|
+
document.getElementById('markdown-' + areaId).innerHTML = md.render(value)
|
|
42
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// eslint-disable-next-line no-unused-vars
|
|
2
|
+
function removeClass (element, className) {
|
|
3
|
+
if (element.classList) {
|
|
4
|
+
element.classList.remove(className)
|
|
5
|
+
} else {
|
|
6
|
+
element.className = element.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ')
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line no-unused-vars
|
|
11
|
+
function addClass (element, className) {
|
|
12
|
+
if (element.classList) {
|
|
13
|
+
element.classList.add(className)
|
|
14
|
+
} else {
|
|
15
|
+
element.className += ' ' + className
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// eslint-disable-next-line no-unused-vars
|
|
2
|
+
function openModal (e, id) {
|
|
3
|
+
if (!id) {
|
|
4
|
+
id = e
|
|
5
|
+
} else {
|
|
6
|
+
e.preventDefault()
|
|
7
|
+
}
|
|
8
|
+
addClass(document.getElementById(id), 'modal--visible')
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// eslint-disable-next-line no-unused-vars
|
|
12
|
+
function closeModal (e, id) {
|
|
13
|
+
if (!id) {
|
|
14
|
+
id = e
|
|
15
|
+
} else {
|
|
16
|
+
e.preventDefault()
|
|
17
|
+
}
|
|
18
|
+
removeClass(document.getElementById(id), 'modal--visible')
|
|
19
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// eslint-disable-next-line no-unused-vars
|
|
2
|
+
function selectTab (event, tab) {
|
|
3
|
+
if (tab) {
|
|
4
|
+
event.preventDefault()
|
|
5
|
+
} else {
|
|
6
|
+
tab = event
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
var i
|
|
10
|
+
var tabs = document.getElementsByClassName('tabs__tabs-list__tab active')
|
|
11
|
+
var tabsContent = document.getElementsByClassName('tabs__tab-content active')
|
|
12
|
+
|
|
13
|
+
for (i = 0; i < tabs.length; i++) {
|
|
14
|
+
removeClass(tabs[i], 'active')
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
for (i = 0; i < tabsContent.length; i++) {
|
|
18
|
+
removeClass(tabsContent[i], 'active')
|
|
19
|
+
}
|
|
20
|
+
addClass(document.getElementById('tab-content-' + tab), 'active')
|
|
21
|
+
addClass(document.getElementById('tab-' + tab), 'active')
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// eslint-disable-next-line no-unused-vars
|
|
25
|
+
function initializeTabs () {
|
|
26
|
+
var i
|
|
27
|
+
var tabs = document.getElementsByClassName('tabs__tab-content')
|
|
28
|
+
|
|
29
|
+
for (i = 0; i < tabs.length; i++) {
|
|
30
|
+
addClass(tabs[i], 'tab--initialized')
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
// Inspired by https://github.com/nilskaspersson/Google-Material-UI-Color-Palette/
|
|
2
|
+
|
|
3
|
+
// Reds
|
|
4
|
+
$color-red-50: #ffebee;
|
|
5
|
+
$color-red-100: #ffcdd2;
|
|
6
|
+
$color-red-200: #ef9a9a;
|
|
7
|
+
$color-red-300: #e57373;
|
|
8
|
+
$color-red-400: #ef5350;
|
|
9
|
+
$color-red-500: #f44336;
|
|
10
|
+
$color-red-600: #e53935;
|
|
11
|
+
$color-red-700: #d32f2f;
|
|
12
|
+
$color-red-800: #c62828;
|
|
13
|
+
$color-red-900: #b71c1c;
|
|
14
|
+
$color-red-a100: #ff8a80;
|
|
15
|
+
$color-red-a200: #ff5252;
|
|
16
|
+
$color-red-a400: #ff1744;
|
|
17
|
+
$color-red-a700: #d50000;
|
|
18
|
+
|
|
19
|
+
// Pinks
|
|
20
|
+
$color-pink-50: #fce4ec;
|
|
21
|
+
$color-pink-100: #f8bbd0;
|
|
22
|
+
$color-pink-200: #f48fb1;
|
|
23
|
+
$color-pink-300: #f06292;
|
|
24
|
+
$color-pink-400: #ec407a;
|
|
25
|
+
$color-pink-500: #e91e63;
|
|
26
|
+
$color-pink-600: #d81b60;
|
|
27
|
+
$color-pink-700: #c2185b;
|
|
28
|
+
$color-pink-800: #ad1457;
|
|
29
|
+
$color-pink-900: #880e4f;
|
|
30
|
+
$color-pink-a100: #ff80ab;
|
|
31
|
+
$color-pink-a200: #ff4081;
|
|
32
|
+
$color-pink-a400: #f50057;
|
|
33
|
+
$color-pink-a700: #c51162;
|
|
34
|
+
|
|
35
|
+
// Purples
|
|
36
|
+
$color-purple-50: #f3e5f5;
|
|
37
|
+
$color-purple-100: #e1bee7;
|
|
38
|
+
$color-purple-200: #ce93d8;
|
|
39
|
+
$color-purple-300: #ba68c8;
|
|
40
|
+
$color-purple-400: #ab47bc;
|
|
41
|
+
$color-purple-500: #9c27b0;
|
|
42
|
+
$color-purple-600: #8e24aa;
|
|
43
|
+
$color-purple-700: #7b1fa2;
|
|
44
|
+
$color-purple-800: #6a1b9a;
|
|
45
|
+
$color-purple-900: #4a148c;
|
|
46
|
+
$color-purple-a100: #ea80fc;
|
|
47
|
+
$color-purple-a200: #e040fb;
|
|
48
|
+
$color-purple-a400: #d500f9;
|
|
49
|
+
$color-purple-a700: #aa00ff;
|
|
50
|
+
|
|
51
|
+
// Deep-purples
|
|
52
|
+
$color-deep-purple-50: #ede7f6;
|
|
53
|
+
$color-deep-purple-100: #d1c4e9;
|
|
54
|
+
$color-deep-purple-200: #b39ddb;
|
|
55
|
+
$color-deep-purple-300: #9575cd;
|
|
56
|
+
$color-deep-purple-400: #7e57c2;
|
|
57
|
+
$color-deep-purple-500: #673ab7;
|
|
58
|
+
$color-deep-purple-600: #5e35b1;
|
|
59
|
+
$color-deep-purple-700: #512da8;
|
|
60
|
+
$color-deep-purple-800: #4527a0;
|
|
61
|
+
$color-deep-purple-900: #311b92;
|
|
62
|
+
$color-deep-purple-a100: #b388ff;
|
|
63
|
+
$color-deep-purple-a200: #7c4dff;
|
|
64
|
+
$color-deep-purple-a400: #651fff;
|
|
65
|
+
$color-deep-purple-a700: #6200ea;
|
|
66
|
+
|
|
67
|
+
// Indigos
|
|
68
|
+
$color-indigo-50: #e8eaf6;
|
|
69
|
+
$color-indigo-100: #c5cae9;
|
|
70
|
+
$color-indigo-200: #9fa8da;
|
|
71
|
+
$color-indigo-300: #7986cb;
|
|
72
|
+
$color-indigo-400: #5c6bc0;
|
|
73
|
+
$color-indigo-500: #3f51b5;
|
|
74
|
+
$color-indigo-600: #3949ab;
|
|
75
|
+
$color-indigo-700: #303f9f;
|
|
76
|
+
$color-indigo-800: #283593;
|
|
77
|
+
$color-indigo-900: #1a237e;
|
|
78
|
+
$color-indigo-a100: #8c9eff;
|
|
79
|
+
$color-indigo-a200: #536dfe;
|
|
80
|
+
$color-indigo-a400: #3d5afe;
|
|
81
|
+
$color-indigo-a700: #304ffe;
|
|
82
|
+
|
|
83
|
+
// Blues
|
|
84
|
+
$color-blue-50: #e3f2fd;
|
|
85
|
+
$color-blue-100: #bbdefb;
|
|
86
|
+
$color-blue-200: #90caf9;
|
|
87
|
+
$color-blue-300: #64b5f6;
|
|
88
|
+
$color-blue-400: #42a5f5;
|
|
89
|
+
$color-blue-500: #2196f3;
|
|
90
|
+
$color-blue-600: #1e88e5;
|
|
91
|
+
$color-blue-700: #1976d2;
|
|
92
|
+
$color-blue-800: #1565c0;
|
|
93
|
+
$color-blue-900: #0d47a1;
|
|
94
|
+
$color-blue-a100: #82b1ff;
|
|
95
|
+
$color-blue-a200: #448aff;
|
|
96
|
+
$color-blue-a400: #2979ff;
|
|
97
|
+
$color-blue-a700: #2962ff;
|
|
98
|
+
|
|
99
|
+
// Light blues
|
|
100
|
+
$color-light-blue-50: #e1f5fe;
|
|
101
|
+
$color-light-blue-100: #b3e5fc;
|
|
102
|
+
$color-light-blue-200: #81d4fa;
|
|
103
|
+
$color-light-blue-300: #4fc3f7;
|
|
104
|
+
$color-light-blue-400: #29b6f6;
|
|
105
|
+
$color-light-blue-500: #03a9f4;
|
|
106
|
+
$color-light-blue-600: #039be5;
|
|
107
|
+
$color-light-blue-700: #0288d1;
|
|
108
|
+
$color-light-blue-800: #0277bd;
|
|
109
|
+
$color-light-blue-900: #01579b;
|
|
110
|
+
$color-light-blue-a100: #80d8ff;
|
|
111
|
+
$color-light-blue-a200: #40c4ff;
|
|
112
|
+
$color-light-blue-a400: #00b0ff;
|
|
113
|
+
$color-light-blue-a700: #0091ea;
|
|
114
|
+
|
|
115
|
+
// Cyan
|
|
116
|
+
$color-cyan-50: #e0f7fa;
|
|
117
|
+
$color-cyan-100: #b2ebf2;
|
|
118
|
+
$color-cyan-200: #80deea;
|
|
119
|
+
$color-cyan-300: #4dd0e1;
|
|
120
|
+
$color-cyan-400: #26c6da;
|
|
121
|
+
$color-cyan-500: #00bcd4;
|
|
122
|
+
$color-cyan-600: #00acc1;
|
|
123
|
+
$color-cyan-700: #0097a7;
|
|
124
|
+
$color-cyan-800: #00838f;
|
|
125
|
+
$color-cyan-900: #006064;
|
|
126
|
+
$color-cyan-a100: #84ffff;
|
|
127
|
+
$color-cyan-a200: #18ffff;
|
|
128
|
+
$color-cyan-a400: #00e5ff;
|
|
129
|
+
$color-cyan-a700: #00b8d4;
|
|
130
|
+
|
|
131
|
+
// Teals
|
|
132
|
+
$color-teal-50: #e0f2f1;
|
|
133
|
+
$color-teal-100: #b2dfdb;
|
|
134
|
+
$color-teal-200: #80cbc4;
|
|
135
|
+
$color-teal-300: #4db6ac;
|
|
136
|
+
$color-teal-400: #26a69a;
|
|
137
|
+
$color-teal-500: #009688;
|
|
138
|
+
$color-teal-600: #00897b;
|
|
139
|
+
$color-teal-700: #00796b;
|
|
140
|
+
$color-teal-800: #00695c;
|
|
141
|
+
$color-teal-900: #004d40;
|
|
142
|
+
$color-teal-a100: #a7ffeb;
|
|
143
|
+
$color-teal-a200: #64ffda;
|
|
144
|
+
$color-teal-a400: #1de9b6;
|
|
145
|
+
$color-teal-a700: #00bfa5;
|
|
146
|
+
|
|
147
|
+
// Greens
|
|
148
|
+
$color-green-50: #e8f5e9;
|
|
149
|
+
$color-green-100: #c8e6c9;
|
|
150
|
+
$color-green-200: #a5d6a7;
|
|
151
|
+
$color-green-300: #81c784;
|
|
152
|
+
$color-green-400: #66bb6a;
|
|
153
|
+
$color-green-500: #4caf50;
|
|
154
|
+
$color-green-600: #43a047;
|
|
155
|
+
$color-green-700: #388e3c;
|
|
156
|
+
$color-green-800: #2e7d32;
|
|
157
|
+
$color-green-900: #1b5e20;
|
|
158
|
+
$color-green-a100: #b9f6ca;
|
|
159
|
+
$color-green-a200: #69f0ae;
|
|
160
|
+
$color-green-a400: #00e676;
|
|
161
|
+
$color-green-a700: #00c853;
|
|
162
|
+
|
|
163
|
+
// Light-greens
|
|
164
|
+
$color-light-green-50: #f1f8e9;
|
|
165
|
+
$color-light-green-100: #dcedc8;
|
|
166
|
+
$color-light-green-200: #c5e1a5;
|
|
167
|
+
$color-light-green-300: #aed581;
|
|
168
|
+
$color-light-green-400: #9ccc65;
|
|
169
|
+
$color-light-green-500: #8bc34a;
|
|
170
|
+
$color-light-green-600: #7cb342;
|
|
171
|
+
$color-light-green-700: #689f38;
|
|
172
|
+
$color-light-green-800: #558b2f;
|
|
173
|
+
$color-light-green-900: #33691e;
|
|
174
|
+
$color-light-green-a100: #ccff90;
|
|
175
|
+
$color-light-green-a200: #b2ff59;
|
|
176
|
+
$color-light-green-a400: #76ff03;
|
|
177
|
+
$color-light-green-a700: #64dd17;
|
|
178
|
+
|
|
179
|
+
// Limes
|
|
180
|
+
$color-lime-50: #f9fbe7;
|
|
181
|
+
$color-lime-100: #f0f4c3;
|
|
182
|
+
$color-lime-200: #e6ee9c;
|
|
183
|
+
$color-lime-300: #dce775;
|
|
184
|
+
$color-lime-400: #d4e157;
|
|
185
|
+
$color-lime-500: #cddc39;
|
|
186
|
+
$color-lime-600: #c0ca33;
|
|
187
|
+
$color-lime-700: #afb42b;
|
|
188
|
+
$color-lime-800: #9e9d24;
|
|
189
|
+
$color-lime-900: #827717;
|
|
190
|
+
$color-lime-a100: #f4ff81;
|
|
191
|
+
$color-lime-a200: #eeff41;
|
|
192
|
+
$color-lime-a400: #c6ff00;
|
|
193
|
+
$color-lime-a700: #aeea00;
|
|
194
|
+
|
|
195
|
+
// Yellows
|
|
196
|
+
$color-yellow-50: #fffde7;
|
|
197
|
+
$color-yellow-100: #fff9c4;
|
|
198
|
+
$color-yellow-200: #fff59d;
|
|
199
|
+
$color-yellow-300: #fff176;
|
|
200
|
+
$color-yellow-400: #ffee58;
|
|
201
|
+
$color-yellow-500: #ffeb3b;
|
|
202
|
+
$color-yellow-600: #fdd835;
|
|
203
|
+
$color-yellow-700: #fbc02d;
|
|
204
|
+
$color-yellow-800: #f9a825;
|
|
205
|
+
$color-yellow-900: #f57f17;
|
|
206
|
+
$color-yellow-a100: #ffff8d;
|
|
207
|
+
$color-yellow-a200: #ffff00;
|
|
208
|
+
$color-yellow-a400: #ffea00;
|
|
209
|
+
$color-yellow-a700: #ffd600;
|
|
210
|
+
|
|
211
|
+
// Ambers
|
|
212
|
+
$color-amber-50: #fff8e1;
|
|
213
|
+
$color-amber-100: #ffecb3;
|
|
214
|
+
$color-amber-200: #ffe082;
|
|
215
|
+
$color-amber-300: #ffd54f;
|
|
216
|
+
$color-amber-400: #ffca28;
|
|
217
|
+
$color-amber-500: #ffc107;
|
|
218
|
+
$color-amber-600: #ffb300;
|
|
219
|
+
$color-amber-700: #ffa000;
|
|
220
|
+
$color-amber-800: #ff8f00;
|
|
221
|
+
$color-amber-900: #ff6f00;
|
|
222
|
+
$color-amber-a100: #ffe57f;
|
|
223
|
+
$color-amber-a200: #ffd740;
|
|
224
|
+
$color-amber-a400: #ffc400;
|
|
225
|
+
$color-amber-a700: #ffab00;
|
|
226
|
+
|
|
227
|
+
// Oranges
|
|
228
|
+
$color-orange-50: #fff3e0;
|
|
229
|
+
$color-orange-100: #ffe0b2;
|
|
230
|
+
$color-orange-200: #ffcc80;
|
|
231
|
+
$color-orange-300: #ffb74d;
|
|
232
|
+
$color-orange-400: #ffa726;
|
|
233
|
+
$color-orange-500: #ff9800;
|
|
234
|
+
$color-orange-600: #fb8c00;
|
|
235
|
+
$color-orange-700: #f57c00;
|
|
236
|
+
$color-orange-800: #ef6c00;
|
|
237
|
+
$color-orange-900: #e65100;
|
|
238
|
+
$color-orange-a100: #ffd180;
|
|
239
|
+
$color-orange-a200: #ffab40;
|
|
240
|
+
$color-orange-a400: #ff9100;
|
|
241
|
+
$color-orange-a700: #ff6d00;
|
|
242
|
+
|
|
243
|
+
// Deep oranges
|
|
244
|
+
$color-deep-orange-50: #fbe9e7;
|
|
245
|
+
$color-deep-orange-100: #ffccbc;
|
|
246
|
+
$color-deep-orange-200: #ffab91;
|
|
247
|
+
$color-deep-orange-300: #ff8a65;
|
|
248
|
+
$color-deep-orange-400: #ff7043;
|
|
249
|
+
$color-deep-orange-500: #ff5722;
|
|
250
|
+
$color-deep-orange-600: #f4511e;
|
|
251
|
+
$color-deep-orange-700: #e64a19;
|
|
252
|
+
$color-deep-orange-800: #d84315;
|
|
253
|
+
$color-deep-orange-900: #bf360c;
|
|
254
|
+
$color-deep-orange-a100: #ff9e80;
|
|
255
|
+
$color-deep-orange-a200: #ff6e40;
|
|
256
|
+
$color-deep-orange-a400: #ff3d00;
|
|
257
|
+
$color-deep-orange-a700: #dd2c00;
|
|
258
|
+
|
|
259
|
+
// Browns
|
|
260
|
+
$color-brown-50: #efebe9;
|
|
261
|
+
$color-brown-100: #d7ccc8;
|
|
262
|
+
$color-brown-200: #bcaaa4;
|
|
263
|
+
$color-brown-300: #a1887f;
|
|
264
|
+
$color-brown-400: #8d6e63;
|
|
265
|
+
$color-brown-500: #795548;
|
|
266
|
+
$color-brown-600: #6d4c41;
|
|
267
|
+
$color-brown-700: #5d4037;
|
|
268
|
+
$color-brown-800: #4e342e;
|
|
269
|
+
$color-brown-900: #3e2723;
|
|
270
|
+
|
|
271
|
+
// Greys
|
|
272
|
+
$color-grey-50: #fafafa;
|
|
273
|
+
$color-grey-100: #f5f5f5;
|
|
274
|
+
$color-grey-200: #eeeeee;
|
|
275
|
+
$color-grey-300: #e0e0e0;
|
|
276
|
+
$color-grey-400: #bdbdbd;
|
|
277
|
+
$color-grey-500: #9e9e9e;
|
|
278
|
+
$color-grey-600: #757575;
|
|
279
|
+
$color-grey-700: #616161;
|
|
280
|
+
$color-grey-800: #424242;
|
|
281
|
+
$color-grey-900: #212121;
|
|
282
|
+
|
|
283
|
+
// Blue-greys
|
|
284
|
+
$color-blue-grey-50: #eceff1;
|
|
285
|
+
$color-blue-grey-100: #cfd8dc;
|
|
286
|
+
$color-blue-grey-200: #b0bec5;
|
|
287
|
+
$color-blue-grey-300: #90a4ae;
|
|
288
|
+
$color-blue-grey-400: #78909c;
|
|
289
|
+
$color-blue-grey-500: #607d8b;
|
|
290
|
+
$color-blue-grey-600: #546e7a;
|
|
291
|
+
$color-blue-grey-700: #455a64;
|
|
292
|
+
$color-blue-grey-800: #37474f;
|
|
293
|
+
$color-blue-grey-900: #263238;
|
|
294
|
+
$color-blue-grey-1000: #11171a;
|
|
295
|
+
|
|
296
|
+
// Basic colors
|
|
297
|
+
$color-white: #ffffff;
|
|
298
|
+
$color-black: #000000;
|
|
299
|
+
|
|
300
|
+
// Semantic colors:
|
|
301
|
+
$color-brand: #f6bb42;
|
|
302
|
+
$color-danger: $color-red-500;
|
|
303
|
+
$color-ghost: transparent;
|
|
304
|
+
$color-info: $color-blue-300;
|
|
305
|
+
$color-muted: $color-grey-200;
|
|
306
|
+
$color-primary: $color-blue-500;
|
|
307
|
+
$color-success: $color-green-500;
|
|
308
|
+
$color-warning: $color-orange-500;
|
|
309
|
+
|
|
310
|
+
// Foreground/background colors
|
|
311
|
+
$color-base: $color-grey-600;
|
|
312
|
+
$color-background-base: $color-grey-200;
|
|
313
|
+
$color-inverse: $color-grey-100;
|
|
314
|
+
$color-background-inverse: $color-orange-300;
|
|
315
|
+
|
|
316
|
+
// Information messages
|
|
317
|
+
$color-error-background: $color-red-500;
|
|
318
|
+
$color-error: $color-white;
|
|
319
|
+
|
|
320
|
+
// Borders
|
|
321
|
+
$color-borders: transparentize($color-base, .8);
|
|
322
|
+
|
|
323
|
+
// Forms
|
|
324
|
+
$forms-color: $color-grey-800;
|
|
325
|
+
|
|
326
|
+
// Links
|
|
327
|
+
$link-color: $color-grey-800;
|
|
328
|
+
$link-color-hover: $color-grey-600;
|
|
329
|
+
|
|
330
|
+
// User content colors
|
|
331
|
+
$el-content-album-bg: $color-white;
|
|
332
|
+
$el-content-article-bg: $color-white;
|
|
333
|
+
$el-content-note-bg: $color-white;
|
|
334
|
+
$el-content-project-bg: $color-white;
|
|
335
|
+
$el-content-upload-bg: $color-white;
|
|
336
|
+
|
|
337
|
+
// Classifiers
|
|
338
|
+
$el-language-bg: $color-green-100;
|
|
339
|
+
$el-license-bg: $color-orange-200;
|
|
340
|
+
$el-tag-bg: $color-blue-100;
|
|
341
|
+
$el-user-bg: $color-blue-grey-100;
|
|
342
|
+
|
|
343
|
+
// NSFW notices
|
|
344
|
+
$color-nsfw: $color-grey-400;
|
|
345
|
+
$color-nsfw-background: $color-grey-300;
|