elabs 4.0.0 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +9 -0
- data/.node-version +1 -1
- data/.rubocop.yml +4 -0
- data/.stylelintrc.yml +12 -2
- data/CHANGELOG.md +81 -12
- data/Gemfile +1 -1
- data/Gemfile.lock +96 -94
- data/README.md +2 -0
- data/ROADMAP.md +4 -2
- data/app/assets/config/elabs_manifest.js +2 -1
- data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.eot +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.svg +1148 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.ttf +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.woff +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.woff2 +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.eot +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.svg +467 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.ttf +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.woff +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.woff2 +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.eot +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.svg +2231 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.ttf +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.woff +0 -0
- data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.woff2 +0 -0
- data/app/assets/fonts/elabs/OpenSans/Apache License.txt +201 -0
- data/app/assets/fonts/elabs/OpenSans/OpenSans-Bold.ttf +0 -0
- data/app/assets/fonts/elabs/OpenSans/OpenSans-Light.ttf +0 -0
- data/app/assets/fonts/elabs/OpenSans/OpenSans-Regular.ttf +0 -0
- data/app/assets/fonts/elabs/OpenSans/OpenSans-Semibold.ttf +0 -0
- data/app/assets/fonts/elabs/license-icons/license-icons.eot +0 -0
- data/app/assets/fonts/elabs/license-icons/license-icons.svg +51 -0
- data/app/assets/fonts/elabs/license-icons/license-icons.ttf +0 -0
- data/app/assets/fonts/elabs/license-icons/license-icons.woff +0 -0
- data/app/assets/fonts/elabs/license-icons/license-icons.woff2 +0 -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/announcements.js +33 -0
- data/app/assets/javascripts/elabs/application.js.erb +17 -14
- data/app/assets/javascripts/elabs/forms.js +0 -1
- data/app/assets/javascripts/elabs/helpers-markdown.js +2 -2
- data/app/assets/javascripts/elabs/helpers.js +17 -0
- data/app/assets/javascripts/elabs/menu.js +5 -0
- data/app/assets/stylesheets/elabs/_fonts.scss +32 -0
- data/app/assets/stylesheets/elabs/_variables.scss +286 -5
- data/app/assets/stylesheets/elabs/app/components/_act.scss +83 -0
- data/app/assets/stylesheets/elabs/app/components/_announcement.scss +41 -0
- data/app/assets/stylesheets/elabs/app/components/_classifier_types.scss +43 -0
- data/app/assets/stylesheets/elabs/app/components/_comment.scss +29 -0
- data/app/assets/stylesheets/elabs/app/components/_content_relations.scss +53 -0
- data/app/assets/stylesheets/elabs/app/components/_content_statuses.scss +39 -0
- data/app/assets/stylesheets/elabs/app/components/_content_types.scss +41 -0
- data/app/assets/stylesheets/elabs/app/components/_git_cards.scss +122 -0
- data/app/assets/stylesheets/elabs/app/elements/_alerts.scss +3 -0
- data/app/assets/stylesheets/elabs/app/elements/_badges.scss +17 -0
- data/app/assets/stylesheets/elabs/app/elements/_buttons.scss +34 -0
- data/app/assets/stylesheets/elabs/app/elements/_dropdowns.scss +78 -0
- data/app/assets/stylesheets/elabs/app/elements/_empty.scss +31 -0
- data/app/assets/stylesheets/elabs/app/elements/_errors.scss +15 -0
- data/app/assets/stylesheets/elabs/app/elements/_filter_link.scss +23 -0
- data/app/assets/stylesheets/elabs/app/elements/_fixed_links.scss +19 -0
- data/app/assets/stylesheets/elabs/app/elements/_forms.scss +123 -0
- data/app/assets/stylesheets/elabs/app/elements/_icons.scss +74 -0
- data/app/assets/stylesheets/elabs/app/{_medias.scss → elements/_medias.scss} +2 -0
- data/app/assets/stylesheets/elabs/app/{_modals.scss → elements/_modals.scss} +8 -4
- data/app/assets/stylesheets/elabs/app/elements/_nsfw.scss +41 -0
- data/app/assets/stylesheets/elabs/app/{_pagination.scss → elements/_pagination.scss} +0 -0
- data/app/assets/stylesheets/elabs/app/{_tables.scss → elements/_tables.scss} +2 -2
- data/app/assets/stylesheets/elabs/app/elements/_tabs.scss +73 -0
- data/app/assets/stylesheets/elabs/app/helpers/_cards.scss +80 -0
- data/app/assets/stylesheets/elabs/app/helpers/_containers.scss +7 -0
- data/app/assets/stylesheets/elabs/app/helpers/_states.scss +3 -0
- data/app/assets/stylesheets/elabs/app/{_helpers.scss → helpers/_typo.scss} +6 -4
- data/app/assets/stylesheets/elabs/app/layouts/_acts.scss +25 -0
- data/app/assets/stylesheets/elabs/app/layouts/_classifiers.scss +32 -0
- data/app/assets/stylesheets/elabs/app/{_comments.scss → layouts/_comments.scss} +0 -2
- data/app/assets/stylesheets/elabs/app/layouts/_devise.scss +65 -0
- data/app/assets/stylesheets/elabs/app/layouts/_layout.scss +40 -0
- data/app/assets/stylesheets/elabs/app/layouts/_page.scss +14 -0
- data/app/assets/stylesheets/elabs/app/layouts/_page_content.scss +13 -0
- data/app/assets/stylesheets/elabs/app/layouts/_page_footer.scss +20 -0
- data/app/assets/stylesheets/elabs/app/layouts/_page_header.scss +146 -0
- data/app/assets/stylesheets/elabs/app/layouts/_page_menu.scss +232 -0
- data/app/assets/stylesheets/elabs/app/layouts/_page_messages.scss +4 -0
- data/app/assets/stylesheets/elabs/app/layouts/_private_layout.scss +78 -0
- data/app/assets/stylesheets/elabs/app/{_typo.scss → layouts/_typo.scss} +3 -0
- data/app/assets/stylesheets/elabs/app/mixins/_classifier_card.scss +43 -0
- data/app/assets/stylesheets/elabs/app/mixins/_content_card.scss +103 -0
- data/app/assets/stylesheets/elabs/app/mixins/_content_full.scss +158 -0
- data/app/assets/stylesheets/elabs/app/mixins/{_content-inline.scss → _content_inline.scss} +0 -0
- data/app/assets/stylesheets/elabs/lib/_codemirror.scss +2 -2
- data/app/assets/stylesheets/elabs/{_colors.scss → lib/_colors_reference.scss} +0 -52
- data/app/assets/stylesheets/elabs/lib/_license_icons.scss +121 -0
- data/app/assets/stylesheets/elabs/lib/fontawesome/_fontawesome.scss +1 -1
- data/app/assets/stylesheets/elabs/lib/fontawesome/_fonts.scss +18 -18
- data/app/assets/stylesheets/elabs/lib/knacss/_knacss.scss +1 -1
- data/app/assets/stylesheets/elabs/lib/knacss/_knacss_variables.scss +227 -0
- data/app/assets/stylesheets/elabs/style.scss +62 -57
- data/app/controllers/elabs/admin/admin_application_controller.rb +1 -1
- data/app/controllers/elabs/admin/announcements_controller.rb +71 -0
- data/app/controllers/elabs/concerns/elabs_controller.rb +3 -0
- data/app/controllers/elabs/content_application_controller.rb +4 -0
- data/app/controllers/elabs/elabs_public_controller.rb +15 -0
- data/app/controllers/elabs/languages_controller.rb +1 -5
- data/app/controllers/elabs/member/comments_controller.rb +42 -0
- data/app/controllers/elabs/member/member_application_controller.rb +1 -1
- data/app/controllers/elabs/reports_controller.rb +2 -0
- data/app/helpers/elabs/acts_helper.rb +7 -2
- data/app/helpers/elabs/application_helper.rb +8 -50
- data/app/helpers/elabs/content_filters_helper.rb +17 -24
- data/app/helpers/elabs/content_helper.rb +8 -35
- data/app/helpers/elabs/content_renderer_helper.rb +4 -112
- data/app/helpers/elabs/form_helper.rb +11 -11
- data/app/helpers/elabs/icons_helper.rb +63 -0
- data/app/helpers/elabs/{admin_content_helper.rb → links_admin_helper.rb} +1 -1
- data/app/helpers/elabs/links_helper.rb +58 -0
- data/app/helpers/elabs/{member_content_helper.rb → links_member_helper.rb} +2 -2
- data/app/helpers/elabs/notification_helper.rb +17 -3
- data/app/helpers/elabs/shortcodes_helper.rb +108 -0
- data/app/helpers/elabs/thumbnails_helper.rb +1 -1
- data/app/models/elabs/album.rb +14 -0
- data/app/models/elabs/announcement.rb +33 -0
- data/app/models/elabs/article.rb +14 -0
- data/app/models/elabs/comment.rb +10 -4
- data/app/models/elabs/note.rb +14 -0
- data/app/models/elabs/project.rb +12 -0
- data/app/models/elabs/report.rb +1 -0
- data/app/models/elabs/upload.rb +16 -0
- data/app/models/elabs/user.rb +2 -1
- data/app/views/elabs/acts/_filters.html.haml +3 -2
- data/app/views/elabs/acts/index.html.haml +2 -13
- data/app/views/elabs/admin/announcements/_announcement.json.jbuilder +10 -0
- data/app/views/elabs/admin/announcements/_form.html.haml +52 -0
- data/app/views/elabs/admin/announcements/edit.html.haml +3 -0
- data/app/views/elabs/admin/announcements/index.html.haml +28 -0
- data/app/views/elabs/admin/announcements/index.json.jbuilder +1 -0
- data/app/views/elabs/admin/announcements/new.html.haml +3 -0
- data/app/views/elabs/admin/licenses/index.html.haml +2 -2
- data/app/views/elabs/admin/uploads/_upload.json.jbuilder +3 -3
- data/app/views/elabs/albums/_card_content.html.haml +8 -0
- data/app/views/elabs/albums/_filters.html.haml +5 -3
- data/app/views/elabs/albums/index.html.haml +1 -1
- data/app/views/elabs/albums/show.html.haml +38 -29
- data/app/views/elabs/articles/_filters.html.haml +5 -3
- data/app/views/elabs/articles/index.html.haml +1 -1
- data/app/views/elabs/articles/show.html.haml +33 -25
- data/app/views/elabs/auth/confirmations/new.html.haml +1 -1
- data/app/views/elabs/auth/passwords/edit.html.haml +1 -1
- data/app/views/elabs/auth/passwords/new.html.haml +1 -1
- data/app/views/elabs/auth/registrations/new.html.haml +7 -2
- data/app/views/elabs/auth/sessions/_new.html.haml +1 -1
- data/app/views/elabs/auth/unlocks/new.html.haml +1 -1
- data/app/views/elabs/comments/_comments.html.haml +29 -20
- data/app/views/elabs/comments/_form.html.haml +40 -36
- data/app/views/elabs/languages/_filters.html.haml +3 -5
- data/app/views/elabs/languages/index.html.haml +12 -13
- data/app/views/elabs/languages/show.html.haml +36 -31
- data/app/views/elabs/layouts/_announcements.html.haml +9 -0
- data/app/views/elabs/layouts/_content_associations.html.haml +89 -0
- data/app/views/elabs/layouts/_content_card.html.haml +41 -0
- data/app/views/elabs/layouts/_flash_messages.html.haml +4 -0
- data/app/views/elabs/layouts/_footer.html.haml +18 -10
- data/app/views/elabs/layouts/_form_honeypot.html.haml +12 -0
- data/app/views/elabs/layouts/_hidden_entry.html.haml +1 -1
- data/app/views/elabs/layouts/_hidden_entry_full.html.haml +4 -2
- data/app/views/elabs/layouts/_hidden_entry_inline.html.haml +1 -1
- data/app/views/elabs/layouts/_language_menu.html.haml +2 -2
- data/app/views/elabs/layouts/_menu.html.haml +58 -75
- data/app/views/elabs/layouts/_menu_admin.html.haml +40 -0
- data/app/views/elabs/layouts/_menu_member.html.haml +57 -0
- data/app/views/elabs/layouts/application.html.haml +24 -13
- data/app/views/elabs/layouts/application_admin.html.haml +33 -0
- data/app/views/elabs/layouts/application_member.html.haml +36 -0
- data/app/views/elabs/layouts/{lists → content_classifiers_lists}/_albums.html.haml +0 -0
- data/app/views/elabs/layouts/{lists → content_classifiers_lists}/_projects.html.haml +0 -0
- data/app/views/elabs/layouts/{lists → content_classifiers_lists}/_tags.html.haml +0 -0
- data/app/views/elabs/layouts/{_shortcode_infinite_loop.html.haml → shortcodes/_infinite_loop.html.haml} +1 -1
- data/app/views/elabs/layouts/{_shortcode_infinite_loop_inline.html.haml → shortcodes/_infinite_loop_inline.html.haml} +0 -0
- data/app/views/elabs/layouts/{_shortcode_missing_content.html.haml → shortcodes/_missing_content.html.haml} +1 -1
- data/app/views/elabs/layouts/{_shortcode_missing_content_inline.html.haml → shortcodes/_missing_content_inline.html.haml} +0 -0
- data/app/views/elabs/layouts/shortcodes/_open_to_see.html.haml +2 -0
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_github_repo_card.html.haml +1 -1
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_github_repo_inline.html.haml +0 -0
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_github_user_card.html.haml +0 -0
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_gitlab_group_card.html.haml +1 -1
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_gitlab_repo_card.html.haml +1 -1
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_gitlab_repo_inline.html.haml +0 -0
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_gitlab_user_card.html.haml +1 -1
- data/app/views/elabs/layouts/shortcodes/widgets/vue/_all_widgets.html.haml +5 -0
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_github_repo_card_vue.html.haml +8 -8
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_github_user_card_vue.html.haml +5 -5
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_gitlab_group_card_vue.html.haml +5 -5
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_gitlab_repo_card_vue.html.haml +8 -8
- data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_gitlab_user_card_vue.html.haml +4 -4
- data/app/views/elabs/licenses/_filters.html.haml +3 -2
- data/app/views/elabs/licenses/index.html.haml +14 -12
- data/app/views/elabs/licenses/show.html.haml +40 -34
- data/app/views/elabs/member/albums/_form.html.haml +1 -43
- data/app/views/elabs/member/articles/_form.html.haml +1 -39
- data/app/views/elabs/member/layouts/_form_commons.html.haml +55 -0
- data/app/views/elabs/member/notes/_form.html.haml +1 -39
- data/app/views/elabs/member/preferences/edit.html.haml +1 -2
- data/app/views/elabs/member/projects/_form.html.haml +3 -38
- data/app/views/elabs/member/uploads/_form.html.haml +1 -42
- data/app/views/elabs/member/uploads/_upload.json.jbuilder +3 -3
- data/app/views/elabs/member/users/edit.html.haml +3 -4
- data/app/views/elabs/notes/_filters.html.haml +5 -3
- data/app/views/elabs/notes/index.html.haml +1 -1
- data/app/views/elabs/notes/show.html.haml +33 -25
- data/app/views/elabs/projects/_filters.html.haml +5 -3
- data/app/views/elabs/projects/index.html.haml +1 -1
- data/app/views/elabs/projects/show.html.haml +68 -62
- data/app/views/elabs/reports/_form.html.haml +2 -0
- data/app/views/elabs/tags/_filters.html.haml +3 -2
- data/app/views/elabs/tags/index.html.haml +11 -11
- data/app/views/elabs/tags/show.html.haml +31 -28
- data/app/views/elabs/uploads/_filters.html.haml +5 -3
- data/app/views/elabs/uploads/_preview.html.haml +5 -4
- data/app/views/elabs/uploads/_thumbnail.html.haml +9 -0
- data/app/views/elabs/uploads/_upload.json.jbuilder +3 -3
- data/app/views/elabs/uploads/index.html.haml +1 -1
- data/app/views/elabs/uploads/show.html.haml +45 -39
- data/app/views/elabs/users/_filters.html.haml +3 -2
- data/app/views/elabs/users/_user.html.haml +3 -3
- data/app/views/elabs/users/show.html.haml +48 -43
- data/config/routes.rb +13 -8
- data/db/migrate/20181025084232_add_archived_field_to_comments.rb +5 -0
- data/db/migrate/20181026071743_delete_comment_notifications.rb +5 -0
- data/db/migrate/20181030063505_create_announcements.rb +14 -0
- data/docs/CODEOWNERS +10 -0
- data/docs/migrating.md +16 -1
- data/docs/shortcodes_guide.md +51 -0
- data/lib/assets/javascripts/README-highlight.js.md +5 -5
- data/lib/assets/javascripts/highlight.js-9.13.1/highlight.pack.js +2 -0
- data/lib/assets/stylesheets/{highlight.js-9.12.0 → highlight.js-9.13.1}/styles/atelier-sulphurpool-light.css +0 -0
- data/lib/elabs.rb +8 -0
- data/lib/elabs/version.rb +1 -1
- data/lib/generators/elabs/{devise_views_generator.rb → devise_mailer_views_generator.rb} +2 -2
- data/lib/generators/elabs/images_generator.rb +24 -0
- data/lib/generators/elabs/required_assets_generator.rb +0 -2
- data/lib/generators/templates/elabs.rb +3 -0
- data/locale/app.pot +132 -19
- data/locale/en/app.edit.po +130 -17
- data/locale/en/app.po +130 -17
- data/locale/fr/app.edit.po +145 -28
- data/locale/fr/app.po +141 -27
- data/package.json +10 -12
- data/yarn.lock +885 -668
- metadata +136 -97
- data/app/assets/stylesheets/elabs/_icons.scss +0 -17
- data/app/assets/stylesheets/elabs/app/_acts.scss +0 -69
- data/app/assets/stylesheets/elabs/app/_alerts.scss +0 -3
- data/app/assets/stylesheets/elabs/app/_badges.scss +0 -11
- data/app/assets/stylesheets/elabs/app/_buttons.scss +0 -29
- data/app/assets/stylesheets/elabs/app/_content.scss +0 -25
- data/app/assets/stylesheets/elabs/app/_content_statuses.scss +0 -32
- data/app/assets/stylesheets/elabs/app/_content_uploads.scss +0 -39
- data/app/assets/stylesheets/elabs/app/_empty.scss +0 -19
- data/app/assets/stylesheets/elabs/app/_errors.scss +0 -9
- data/app/assets/stylesheets/elabs/app/_filter_links.scss +0 -27
- data/app/assets/stylesheets/elabs/app/_forms.scss +0 -74
- data/app/assets/stylesheets/elabs/app/_languages.scss +0 -6
- data/app/assets/stylesheets/elabs/app/_layout.scss +0 -206
- data/app/assets/stylesheets/elabs/app/_licenses.scss +0 -6
- data/app/assets/stylesheets/elabs/app/_link-to-top.scss +0 -8
- data/app/assets/stylesheets/elabs/app/_tabs.scss +0 -54
- data/app/assets/stylesheets/elabs/app/_tags.scss +0 -6
- data/app/assets/stylesheets/elabs/app/_toolbars.scss +0 -3
- data/app/assets/stylesheets/elabs/app/_users.scss +0 -21
- data/app/assets/stylesheets/elabs/app/admin-members/_forms.scss +0 -13
- data/app/assets/stylesheets/elabs/app/admin-members/_indexes.scss +0 -46
- data/app/assets/stylesheets/elabs/app/admin-members/_layout.scss +0 -17
- data/app/assets/stylesheets/elabs/app/areas/_devise.scss +0 -31
- data/app/assets/stylesheets/elabs/app/components/_cards.scss +0 -16
- data/app/assets/stylesheets/elabs/app/components/_container.scss +0 -4
- data/app/assets/stylesheets/elabs/app/mixins/_classifier-card.scss +0 -16
- data/app/assets/stylesheets/elabs/app/mixins/_content-card.scss +0 -72
- data/app/assets/stylesheets/elabs/app/mixins/_content-full.scss +0 -77
- data/app/assets/stylesheets/elabs/app/widgets/_git-cards.scss +0 -88
- data/app/assets/stylesheets/elabs/lib/fontawesome/_icons.scss +0 -1118
- data/app/assets/stylesheets/elabs/lib/knacss/_knacss-variables.scss +0 -239
- data/app/views/elabs/albums/_album.html.haml +0 -38
- data/app/views/elabs/articles/_article.html.haml +0 -30
- data/app/views/elabs/languages/_associations.html.haml +0 -61
- data/app/views/elabs/layouts/_shortcode_open_to_see.html.haml +0 -2
- data/app/views/elabs/layouts/admin_application.html.haml +0 -21
- data/app/views/elabs/layouts/member_application.html.haml +0 -24
- data/app/views/elabs/layouts/widgets/vue/_all_widgets.html.haml +0 -5
- data/app/views/elabs/licenses/_associations.html.haml +0 -61
- data/app/views/elabs/notes/_note.html.haml +0 -31
- data/app/views/elabs/projects/_associations.html.haml +0 -54
- data/app/views/elabs/projects/_project.html.haml +0 -29
- data/app/views/elabs/tags/_associations.html.haml +0 -61
- data/app/views/elabs/uploads/_upload.html.haml +0 -41
- data/app/views/elabs/users/_associations.html.haml +0 -61
- data/db/seeds.rb +0 -10
- data/db/seeds_development.rb +0 -21
- data/db/seeds_production.rb +0 -0
- data/lib/assets/javascripts/codemirror-5.39.2/addon/mode/overlay.js +0 -90
- data/lib/assets/javascripts/codemirror-5.39.2/lib/codemirror.js +0 -9684
- data/lib/assets/javascripts/codemirror-5.39.2/mode/clike/clike.js +0 -834
- data/lib/assets/javascripts/codemirror-5.39.2/mode/css/css.js +0 -832
- data/lib/assets/javascripts/codemirror-5.39.2/mode/gfm/gfm.js +0 -129
- data/lib/assets/javascripts/codemirror-5.39.2/mode/htmlmixed/htmlmixed.js +0 -152
- data/lib/assets/javascripts/codemirror-5.39.2/mode/javascript/javascript.js +0 -896
- data/lib/assets/javascripts/codemirror-5.39.2/mode/markdown/markdown.js +0 -882
- data/lib/assets/javascripts/codemirror-5.39.2/mode/meta.js +0 -217
- data/lib/assets/javascripts/codemirror-5.39.2/mode/xml/xml.js +0 -402
- data/lib/assets/javascripts/highlight.js-9.12.0/highlight.pack.js +0 -2
- data/lib/assets/stylesheets/codemirror-5.39.2/lib/codemirror.css +0 -346
- data/lib/assets/stylesheets/codemirror-5.39.2/theme/base16-dark.css +0 -38
- data/lib/assets/stylesheets/codemirror-5.39.2/theme/base16-light.css +0 -38
@@ -21,6 +21,6 @@
|
|
21
21
|
autocomplete: 'email',
|
22
22
|
value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email)
|
23
23
|
.actions
|
24
|
-
= f.submit _('Resend confirmation instructions'), class: 'btn btn--
|
24
|
+
= f.submit _('Resend confirmation instructions'), class: 'btn btn--primary btn--block'
|
25
25
|
|
26
26
|
= render 'elabs/auth/shared/links'
|
@@ -26,6 +26,6 @@
|
|
26
26
|
= f.label :password_confirmation, _('Confirm new password')
|
27
27
|
.field-input= f.password_field :password_confirmation, autocomplete: 'off'
|
28
28
|
.actions
|
29
|
-
= f.submit _('Change my password'), class: 'btn btn--
|
29
|
+
= f.submit _('Change my password'), class: 'btn btn--primary btn--block'
|
30
30
|
|
31
31
|
= render 'elabs/auth/shared/links'
|
@@ -18,6 +18,6 @@
|
|
18
18
|
= f.label :email
|
19
19
|
.field-input= f.email_field :email, autofocus: true, autocomplete: 'email'
|
20
20
|
.actions
|
21
|
-
= f.submit _('Send me reset password instructions'), class: 'btn btn--
|
21
|
+
= f.submit _('Send me reset password instructions'), class: 'btn btn--primary btn--block'
|
22
22
|
|
23
23
|
= render 'elabs/auth/shared/links'
|
@@ -14,7 +14,12 @@
|
|
14
14
|
%li= message
|
15
15
|
.field
|
16
16
|
= f.label :username
|
17
|
-
.field-input
|
17
|
+
.field-input
|
18
|
+
= f.text_field :username, autofocus: true, autocomplete: 'username'
|
19
|
+
.field-hint
|
20
|
+
-# haml-lint:disable LineLength
|
21
|
+
= _('Username can be upper/lower case ascii letters, digits, hyphens and underscores. Make it at least 4 characters. As in "super_man", "super-woman", "uberCat01"')
|
22
|
+
-# haml-lint:enable LineLength
|
18
23
|
.field
|
19
24
|
= f.label :email
|
20
25
|
.field-input= f.email_field :email, autocomplete: 'email'
|
@@ -29,6 +34,6 @@
|
|
29
34
|
.field-input= f.password_field :password_confirmation, autocomplete: 'off'
|
30
35
|
|
31
36
|
.actions
|
32
|
-
= f.submit _('Sign up'), class: 'btn btn--
|
37
|
+
= f.submit _('Sign up'), class: 'btn btn--primary btn--block'
|
33
38
|
|
34
39
|
= render 'elabs/auth/shared/links'
|
@@ -18,6 +18,6 @@
|
|
18
18
|
= f.label :email
|
19
19
|
.field-input= f.email_field :email, autofocus: true, autocomplete: 'email'
|
20
20
|
.actions
|
21
|
-
= f.submit _('Resend unlock instructions'), class: 'btn btn--
|
21
|
+
= f.submit _('Resend unlock instructions'), class: 'btn btn--primary btn--block'
|
22
22
|
|
23
23
|
= render 'elabs/auth/shared/links'
|
@@ -1,22 +1,31 @@
|
|
1
|
-
|
1
|
+
.comments-area
|
2
|
+
= render 'elabs/comments/form', url: url, new_comment: new_comment, entity: entity
|
2
3
|
|
3
|
-
%section.comments-list
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
4
|
+
%section.comments-list
|
5
|
+
- if user_is_author_of entity
|
6
|
+
%h2= _('Comments')
|
7
|
+
- if entity.comments.count.zero?
|
8
|
+
.empty
|
9
|
+
= _('No comment has been left')
|
10
|
+
- entity.comments.each do |comment|
|
11
|
+
.comment.comment-card{ class: comment.archived ? 'comment-card--archived' : '' }
|
12
|
+
%header
|
13
|
+
.headers
|
14
|
+
%ul.information
|
15
|
+
%li
|
16
|
+
.btn-group
|
17
|
+
= member_destroy_link 'comment', comment
|
18
|
+
- if comment.archived
|
19
|
+
%a.btn.btn--small{ disabled: true }= icon 'archive', ['fw']
|
20
|
+
- else
|
21
|
+
= link_to icon('archive', ['fw']),
|
22
|
+
member_comment_archive_path(comment), method: :put, class: 'btn btn--small btn--primary'
|
23
|
+
%li
|
24
|
+
= icon('user', ['fw'])
|
25
|
+
= comment.name || link_to(comment.user.display_name, comment.user)
|
26
|
+
%li
|
27
|
+
= icon('calendar', ['fw'])
|
28
|
+
%strong= _('Posted on:')
|
29
|
+
= medium_datetime comment.created_at
|
30
|
+
%article= render_entity_content comment, :comment, false
|
22
31
|
|
@@ -1,43 +1,47 @@
|
|
1
1
|
-# You must provide an url for the form
|
2
2
|
|
3
|
-
|
3
|
+
- unless user_is_author_of(entity)
|
4
|
+
%h2= _('Leave a comment')
|
4
5
|
|
5
|
-
%p= _('You want to react to this content or ask something to the author? Just leave a comment here!')
|
6
|
+
%p= _('You want to react to this content or ask something to the author? Just leave a comment here!')
|
6
7
|
|
7
|
-
.alert.alert--info
|
8
|
-
|
9
|
-
|
8
|
+
.alert.alert--info
|
9
|
+
%p= _("Note that the comments are not publicly visible, so don't worry if you don't see yours.")
|
10
|
+
%p= _("All the information you give will only be visible to the author. We don't share anything with anyone.")
|
10
11
|
|
11
|
-
= form_for new_comment, url: url do |f|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
12
|
+
= form_for new_comment, url: url do |f|
|
13
|
+
- if new_comment.errors.any?
|
14
|
+
.error
|
15
|
+
%h2= format(n_('An error prevented your comment from being saved:',
|
16
|
+
'%<nb>i errors prevented your comment from being saved:',
|
17
|
+
new_comment.errors.count), nb: new_comment.errors.count)
|
18
|
+
%ul
|
19
|
+
- new_comment.errors.full_messages.each do |message|
|
20
|
+
%li= message
|
20
21
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
22
|
+
- if user_signed_in?
|
23
|
+
.alert.alert--info
|
24
|
+
-# haml-lint:disable LineLength
|
25
|
+
= format(_('This comment will be posted as "%<name>s". By submitting this comment, you agree to be recontacted by the author.'),
|
26
|
+
name: current_user.username)
|
27
|
+
-# haml-lint:enable LineLength
|
28
|
+
- else
|
29
|
+
.field
|
30
|
+
= f.label :name
|
31
|
+
.field-input= f.text_field :name, required: true
|
32
|
+
.field
|
33
|
+
= f.label :email
|
34
|
+
.field-input= f.text_field :email, required: true, type: :email
|
35
|
+
.field
|
36
|
+
.field-input
|
37
|
+
= f.check_box :allow_contact
|
38
|
+
= f.label :allow_contact, _('I agree to be recontacted')
|
28
39
|
.field
|
29
|
-
= f.label :
|
30
|
-
.field-input= f.
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
.
|
35
|
-
.
|
36
|
-
= f.
|
37
|
-
= f.label :allow_contact, _('I agree to be recontacted')
|
38
|
-
.field
|
39
|
-
= f.label :comment
|
40
|
-
.field-input= f.text_area :comment, required: true
|
41
|
-
.actions
|
42
|
-
.actions-buttons
|
43
|
-
= f.submit 'Save', class: 'btn btn--save'
|
40
|
+
= f.label :comment
|
41
|
+
.field-input= f.text_area :comment, required: true, class: 'textarea--large'
|
42
|
+
|
43
|
+
= render 'elabs/layouts/form_honeypot', field: 'body'
|
44
|
+
|
45
|
+
.actions
|
46
|
+
.actions-buttons
|
47
|
+
= f.submit 'Save', class: 'btn btn--save'
|
@@ -6,28 +6,27 @@
|
|
6
6
|
%header
|
7
7
|
.icon= icon 'language', %w[3x fw]
|
8
8
|
.headers
|
9
|
-
%h3{ lang: language.iso639_1 }= link_to language.name, language
|
9
|
+
%h3.title{ lang: language.iso639_1 }= link_to language.name, language
|
10
10
|
|
11
|
-
%ul.
|
11
|
+
%ul.information
|
12
12
|
%li
|
13
|
-
= icon('info', ['fw'])
|
14
13
|
%strong= _('ISO 639-1 code:')
|
15
14
|
= language.iso639_1
|
16
15
|
.content
|
17
16
|
= link_to language_projects_path(language), class: 'btn btn--block' do
|
18
|
-
= icon 'cog'
|
19
|
-
= format(n_('%<nb>i project', '%<nb>i projects', language.projects_count), nb: language.projects_count)
|
17
|
+
= icon 'cog', %w[fw icon]
|
18
|
+
.text= format(n_('%<nb>i project', '%<nb>i projects', language.projects_count), nb: language.projects_count)
|
20
19
|
= link_to language_articles_path(language), class: 'btn btn--block' do
|
21
|
-
= icon 'font'
|
22
|
-
= format(n_('%<nb>i article', '%<nb>i articles', language.articles_count), nb: language.articles_count)
|
20
|
+
= icon 'font', %w[fw icon]
|
21
|
+
.text= format(n_('%<nb>i article', '%<nb>i articles', language.articles_count), nb: language.articles_count)
|
23
22
|
= link_to language_notes_path(language), class: 'btn btn--block' do
|
24
|
-
= icon 'sticky-note'
|
25
|
-
= format(n_('%<nb>i note', '%<nb>i notes', language.notes_count), nb: language.notes_count)
|
23
|
+
= icon 'sticky-note', %w[fw icon]
|
24
|
+
.text= format(n_('%<nb>i note', '%<nb>i notes', language.notes_count), nb: language.notes_count)
|
26
25
|
= link_to language_uploads_path(language), class: 'btn btn--block' do
|
27
|
-
= icon 'image'
|
28
|
-
= format(n_('%<nb>i upload', '%<nb>i uploads', language.uploads_count), nb: language.uploads_count)
|
26
|
+
= icon 'image', %w[fw icon]
|
27
|
+
.text= format(n_('%<nb>i upload', '%<nb>i uploads', language.uploads_count), nb: language.uploads_count)
|
29
28
|
= link_to language_albums_path(language), class: 'btn btn--block' do
|
30
|
-
= icon 'book'
|
31
|
-
= format(n_('%<nb>i album', '%<nb>i albums', language.albums_count), nb: language.albums_count)
|
29
|
+
= icon 'book', %w[fw icon]
|
30
|
+
.text= format(n_('%<nb>i album', '%<nb>i albums', language.albums_count), nb: language.albums_count)
|
32
31
|
|
33
32
|
= paginate @languages
|
@@ -1,38 +1,43 @@
|
|
1
1
|
- @page_title = @language.name
|
2
2
|
|
3
3
|
.language.language--full
|
4
|
-
%aside
|
4
|
+
%aside.always--inline
|
5
5
|
%ul
|
6
|
-
%li
|
7
|
-
= icon('info', ['fw'])
|
8
|
-
%strong= _('ISO 639-1 code')
|
9
|
-
= @language.iso639_1
|
10
6
|
%li.separator
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
7
|
+
%ul
|
8
|
+
%li
|
9
|
+
= icon('info', ['fw'])
|
10
|
+
%strong= _('ISO 639-1 code')
|
11
|
+
= @language.iso639_1
|
12
|
+
%li.separator
|
13
|
+
%ul
|
14
|
+
%li
|
15
|
+
= icon('amount', ['fw'])
|
16
|
+
%b= _('Albums:')
|
17
|
+
= @language.albums_count
|
18
|
+
%li
|
19
|
+
= icon('amount', ['fw'])
|
20
|
+
%b= _('Articles:')
|
21
|
+
= @language.articles_count
|
22
|
+
%li
|
23
|
+
= icon('amount', ['fw'])
|
24
|
+
%b= _('Notes:')
|
25
|
+
= @language.notes_count
|
26
|
+
%li
|
27
|
+
= icon('amount', ['fw'])
|
28
|
+
%b= _('Projects:')
|
29
|
+
= @language.projects_count
|
30
|
+
%li
|
31
|
+
= icon('amount', ['fw'])
|
32
|
+
%b= _('Uploads:')
|
33
|
+
= @language.uploads_count
|
30
34
|
|
31
35
|
.content
|
32
|
-
= render '
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
= render 'elabs/layouts/content_associations',
|
37
|
+
is_section: true,
|
38
|
+
entity: @language,
|
39
|
+
albums: @language_albums,
|
40
|
+
articles: @language_articles,
|
41
|
+
notes: @language_notes,
|
42
|
+
projects: @language_projects,
|
43
|
+
uploads: @language_uploads
|
@@ -0,0 +1,9 @@
|
|
1
|
+
- annoucements = Elabs::Announcement.for_user(current_user)
|
2
|
+
|
3
|
+
- if annoucements.count.positive?
|
4
|
+
.announcements
|
5
|
+
- annoucements.each do |a|
|
6
|
+
.announcement{ class: "announcement--#{a.level}", id: "announce-#{a.id}" }
|
7
|
+
.close-button{ onclick: "hideAnnounce(#{a.id})" }
|
8
|
+
= icon 'times', ['fw']
|
9
|
+
= markdown a.content
|
@@ -0,0 +1,89 @@
|
|
1
|
+
- is_section = false if is_section.nil?
|
2
|
+
|
3
|
+
%aside.tabs{ class: is_section ? 'is-section' : '' }
|
4
|
+
%ul.tabs__tabs-list
|
5
|
+
- if entity.respond_to?(:albums)
|
6
|
+
%li.tabs__tabs-list__tab#tab-albums
|
7
|
+
%a{ href: '#tab-content-albums', onclick: 'selectTab(event, "albums")' }
|
8
|
+
= _('Albums')
|
9
|
+
%span.badge= entity.albums_count
|
10
|
+
- if entity.respond_to?(:articles)
|
11
|
+
%li.tabs__tabs-list__tab#tab-articles
|
12
|
+
%a{ href: '#tab-content-articles', onclick: 'selectTab(event, "articles")' }
|
13
|
+
= _('Articles')
|
14
|
+
%span.badge= entity.articles_count
|
15
|
+
- if entity.respond_to?(:notes)
|
16
|
+
%li.tabs__tabs-list__tab#tab-notes
|
17
|
+
%a{ href: '#tab-content-notes', onclick: 'selectTab(event, "notes")' }
|
18
|
+
= _('Notes')
|
19
|
+
%span.badge= entity.notes_count
|
20
|
+
- if entity.respond_to?(:projects)
|
21
|
+
%li.tabs__tabs-list__tab#tab-projects
|
22
|
+
%a{ href: '#tab-content-projects', onclick: 'selectTab(event, "projects")' }
|
23
|
+
= _('Projects')
|
24
|
+
%span.badge= entity.projects_count
|
25
|
+
- if entity.respond_to?(:uploads)
|
26
|
+
%li.tabs__tabs-list__tab#tab-uploads
|
27
|
+
%a{ href: '#tab-content-uploads', onclick: 'selectTab(event, "uploads")' }
|
28
|
+
= _('Uploads')
|
29
|
+
%span.badge= entity.uploads_count
|
30
|
+
|
31
|
+
- if entity.respond_to?(:albums)
|
32
|
+
%section.tabs__tab-content.albums-list#tab-content-albums
|
33
|
+
.tabs__tab-content__title
|
34
|
+
%h2= format _('Last %<amount>i albums:'), amount: Elabs.max_related_items
|
35
|
+
.actions= related_content_show_all_link entity.albums_count, entity_nested_resource_url(entity, :albums)
|
36
|
+
|
37
|
+
- entity.albums.each do |a|
|
38
|
+
= render 'elabs/layouts/content_card', entity: a
|
39
|
+
- if entity.albums_count.zero?
|
40
|
+
= render 'elabs/layouts/empty'
|
41
|
+
|
42
|
+
- if entity.respond_to?(:articles)
|
43
|
+
%section.tabs__tab-content.articles-list#tab-content-articles
|
44
|
+
.tabs__tab-content__title
|
45
|
+
%h2= format _('Last %<amount>i articles:'), amount: Elabs.max_related_items
|
46
|
+
.actions= related_content_show_all_link entity.articles_count, entity_nested_resource_url(entity, :articles)
|
47
|
+
|
48
|
+
- articles.each do |a|
|
49
|
+
= render 'elabs/layouts/content_card', entity: a
|
50
|
+
- if entity.articles_count.zero?
|
51
|
+
= render 'elabs/layouts/empty'
|
52
|
+
|
53
|
+
|
54
|
+
- if entity.respond_to?(:notes)
|
55
|
+
%section.tabs__tab-content.notes-list#tab-content-notes
|
56
|
+
.tabs__tab-content__title
|
57
|
+
%h2= format _('Last %<amount>i notes:'), amount: Elabs.max_related_items
|
58
|
+
.actions= related_content_show_all_link entity.notes_count, entity_nested_resource_url(entity, :notes)
|
59
|
+
|
60
|
+
- notes.each do |n|
|
61
|
+
= render 'elabs/layouts/content_card', entity: n
|
62
|
+
- if entity.notes_count.zero?
|
63
|
+
= render 'elabs/layouts/empty'
|
64
|
+
|
65
|
+
- if entity.respond_to?(:projects)
|
66
|
+
%section.tabs__tab-content.projects-list#tab-content-projects
|
67
|
+
.tabs__tab-content__title
|
68
|
+
%h2= format _('Last %<amount>i projects:'), amount: Elabs.max_related_items
|
69
|
+
.actions= related_content_show_all_link entity.projects_count, entity_nested_resource_url(entity, :projects)
|
70
|
+
|
71
|
+
- projects.each do |p|
|
72
|
+
= render 'elabs/layouts/content_card', entity: p
|
73
|
+
- if entity.projects_count.zero?
|
74
|
+
= render 'elabs/layouts/empty'
|
75
|
+
|
76
|
+
- if entity.respond_to?(:uploads)
|
77
|
+
%section.tabs__tab-content.uploads-list#tab-content-uploads
|
78
|
+
.tabs__tab-content__title
|
79
|
+
%h2= format _('Last %<amount>i uploads:'), amount: Elabs.max_related_items
|
80
|
+
.actions= related_content_show_all_link entity.uploads_count, entity_nested_resource_url(entity, :uploads)
|
81
|
+
|
82
|
+
- uploads.each do |u|
|
83
|
+
= render 'elabs/layouts/content_card', entity: u
|
84
|
+
- if entity.uploads_count.zero?
|
85
|
+
= render 'elabs/layouts/empty'
|
86
|
+
|
87
|
+
:javascript
|
88
|
+
initializeTabs ()
|
89
|
+
selectTab('#{first_type_with_content(entity)}')
|
@@ -0,0 +1,41 @@
|
|
1
|
+
- entity_type = entity.class.table_name.singularize
|
2
|
+
|
3
|
+
- if !show_item? entity
|
4
|
+
= render 'elabs/layouts/hidden_entry', entity: entity
|
5
|
+
- else
|
6
|
+
%div{ class: "#{entity_type} #{entity_type}-card" }
|
7
|
+
%header
|
8
|
+
.header
|
9
|
+
%h3.title{ lang: entity.language.iso639_1 }
|
10
|
+
= content_type_icon_from_entity entity, %w[fw]
|
11
|
+
= link_to entity.title_to_display, entity
|
12
|
+
.subtitle= format(_('by %<name>s'), name: link_to(entity.user.display_name, entity.user)).html_safe
|
13
|
+
|
14
|
+
%ul.information
|
15
|
+
%li
|
16
|
+
= icon('language', ['fw'])
|
17
|
+
%strong= _('Language:')
|
18
|
+
= link_to entity.language.name, entity.language
|
19
|
+
%li
|
20
|
+
= icon('license', ['fw'])
|
21
|
+
%strong= _('License:')
|
22
|
+
= link_to entity.license do
|
23
|
+
= license_icon entity.license
|
24
|
+
= entity.license.name
|
25
|
+
%li
|
26
|
+
= icon('info', ['fw'])
|
27
|
+
%strong= _('SFW:')
|
28
|
+
= boolean_icon_tag entity.sfw, 'is-sfw', 'is-nsfw'
|
29
|
+
- if entity.respond_to? :visible_projects
|
30
|
+
%li= render 'elabs/layouts/content_classifiers_lists/projects', projects: entity.visible_projects
|
31
|
+
- if entity.respond_to? :tags
|
32
|
+
%li= render 'elabs/layouts/content_classifiers_lists/tags', tags: entity.tags
|
33
|
+
- if entity.respond_to? :visible_albums
|
34
|
+
%li= render 'elabs/layouts/content_classifiers_lists/albums', albums: entity.visible_albums
|
35
|
+
|
36
|
+
- if entity.short_text_to_display.present?
|
37
|
+
%article{ lang: entity.language.iso639_1 }= render_entity_content entity, :short_text_to_display, false
|
38
|
+
- if entity.class.name == 'Elabs::Album'
|
39
|
+
= render 'elabs/albums/card_content', album: entity
|
40
|
+
- if entity.class.name == 'Elabs::Upload'
|
41
|
+
= render 'elabs/uploads/thumbnail', upload: entity
|