elabs 4.0.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +9 -0
  3. data/.node-version +1 -1
  4. data/.rubocop.yml +4 -0
  5. data/.stylelintrc.yml +12 -2
  6. data/CHANGELOG.md +81 -12
  7. data/Gemfile +1 -1
  8. data/Gemfile.lock +96 -94
  9. data/README.md +2 -0
  10. data/ROADMAP.md +4 -2
  11. data/app/assets/config/elabs_manifest.js +2 -1
  12. data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.eot +0 -0
  13. data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.svg +1148 -0
  14. data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.ttf +0 -0
  15. data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.woff +0 -0
  16. data/app/assets/fonts/elabs/FontAwesome/fa-brands-400.woff2 +0 -0
  17. data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.eot +0 -0
  18. data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.svg +467 -0
  19. data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.ttf +0 -0
  20. data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.woff +0 -0
  21. data/app/assets/fonts/elabs/FontAwesome/fa-regular-400.woff2 +0 -0
  22. data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.eot +0 -0
  23. data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.svg +2231 -0
  24. data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.ttf +0 -0
  25. data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.woff +0 -0
  26. data/app/assets/fonts/elabs/FontAwesome/fa-solid-900.woff2 +0 -0
  27. data/app/assets/fonts/elabs/OpenSans/Apache License.txt +201 -0
  28. data/app/assets/fonts/elabs/OpenSans/OpenSans-Bold.ttf +0 -0
  29. data/app/assets/fonts/elabs/OpenSans/OpenSans-Light.ttf +0 -0
  30. data/app/assets/fonts/elabs/OpenSans/OpenSans-Regular.ttf +0 -0
  31. data/app/assets/fonts/elabs/OpenSans/OpenSans-Semibold.ttf +0 -0
  32. data/app/assets/fonts/elabs/license-icons/license-icons.eot +0 -0
  33. data/app/assets/fonts/elabs/license-icons/license-icons.svg +51 -0
  34. data/app/assets/fonts/elabs/license-icons/license-icons.ttf +0 -0
  35. data/app/assets/fonts/elabs/license-icons/license-icons.woff +0 -0
  36. data/app/assets/fonts/elabs/license-icons/license-icons.woff2 +0 -0
  37. data/app/assets/images/elabs/preview_placeholder.png +0 -0
  38. data/app/assets/images/elabs/preview_placeholder_nsfw.png +0 -0
  39. data/app/assets/javascripts/elabs/announcements.js +33 -0
  40. data/app/assets/javascripts/elabs/application.js.erb +17 -14
  41. data/app/assets/javascripts/elabs/forms.js +0 -1
  42. data/app/assets/javascripts/elabs/helpers-markdown.js +2 -2
  43. data/app/assets/javascripts/elabs/helpers.js +17 -0
  44. data/app/assets/javascripts/elabs/menu.js +5 -0
  45. data/app/assets/stylesheets/elabs/_fonts.scss +32 -0
  46. data/app/assets/stylesheets/elabs/_variables.scss +286 -5
  47. data/app/assets/stylesheets/elabs/app/components/_act.scss +83 -0
  48. data/app/assets/stylesheets/elabs/app/components/_announcement.scss +41 -0
  49. data/app/assets/stylesheets/elabs/app/components/_classifier_types.scss +43 -0
  50. data/app/assets/stylesheets/elabs/app/components/_comment.scss +29 -0
  51. data/app/assets/stylesheets/elabs/app/components/_content_relations.scss +53 -0
  52. data/app/assets/stylesheets/elabs/app/components/_content_statuses.scss +39 -0
  53. data/app/assets/stylesheets/elabs/app/components/_content_types.scss +41 -0
  54. data/app/assets/stylesheets/elabs/app/components/_git_cards.scss +122 -0
  55. data/app/assets/stylesheets/elabs/app/elements/_alerts.scss +3 -0
  56. data/app/assets/stylesheets/elabs/app/elements/_badges.scss +17 -0
  57. data/app/assets/stylesheets/elabs/app/elements/_buttons.scss +34 -0
  58. data/app/assets/stylesheets/elabs/app/elements/_dropdowns.scss +78 -0
  59. data/app/assets/stylesheets/elabs/app/elements/_empty.scss +31 -0
  60. data/app/assets/stylesheets/elabs/app/elements/_errors.scss +15 -0
  61. data/app/assets/stylesheets/elabs/app/elements/_filter_link.scss +23 -0
  62. data/app/assets/stylesheets/elabs/app/elements/_fixed_links.scss +19 -0
  63. data/app/assets/stylesheets/elabs/app/elements/_forms.scss +123 -0
  64. data/app/assets/stylesheets/elabs/app/elements/_icons.scss +74 -0
  65. data/app/assets/stylesheets/elabs/app/{_medias.scss → elements/_medias.scss} +2 -0
  66. data/app/assets/stylesheets/elabs/app/{_modals.scss → elements/_modals.scss} +8 -4
  67. data/app/assets/stylesheets/elabs/app/elements/_nsfw.scss +41 -0
  68. data/app/assets/stylesheets/elabs/app/{_pagination.scss → elements/_pagination.scss} +0 -0
  69. data/app/assets/stylesheets/elabs/app/{_tables.scss → elements/_tables.scss} +2 -2
  70. data/app/assets/stylesheets/elabs/app/elements/_tabs.scss +73 -0
  71. data/app/assets/stylesheets/elabs/app/helpers/_cards.scss +80 -0
  72. data/app/assets/stylesheets/elabs/app/helpers/_containers.scss +7 -0
  73. data/app/assets/stylesheets/elabs/app/helpers/_states.scss +3 -0
  74. data/app/assets/stylesheets/elabs/app/{_helpers.scss → helpers/_typo.scss} +6 -4
  75. data/app/assets/stylesheets/elabs/app/layouts/_acts.scss +25 -0
  76. data/app/assets/stylesheets/elabs/app/layouts/_classifiers.scss +32 -0
  77. data/app/assets/stylesheets/elabs/app/{_comments.scss → layouts/_comments.scss} +0 -2
  78. data/app/assets/stylesheets/elabs/app/layouts/_devise.scss +65 -0
  79. data/app/assets/stylesheets/elabs/app/layouts/_layout.scss +40 -0
  80. data/app/assets/stylesheets/elabs/app/layouts/_page.scss +14 -0
  81. data/app/assets/stylesheets/elabs/app/layouts/_page_content.scss +13 -0
  82. data/app/assets/stylesheets/elabs/app/layouts/_page_footer.scss +20 -0
  83. data/app/assets/stylesheets/elabs/app/layouts/_page_header.scss +146 -0
  84. data/app/assets/stylesheets/elabs/app/layouts/_page_menu.scss +232 -0
  85. data/app/assets/stylesheets/elabs/app/layouts/_page_messages.scss +4 -0
  86. data/app/assets/stylesheets/elabs/app/layouts/_private_layout.scss +78 -0
  87. data/app/assets/stylesheets/elabs/app/{_typo.scss → layouts/_typo.scss} +3 -0
  88. data/app/assets/stylesheets/elabs/app/mixins/_classifier_card.scss +43 -0
  89. data/app/assets/stylesheets/elabs/app/mixins/_content_card.scss +103 -0
  90. data/app/assets/stylesheets/elabs/app/mixins/_content_full.scss +158 -0
  91. data/app/assets/stylesheets/elabs/app/mixins/{_content-inline.scss → _content_inline.scss} +0 -0
  92. data/app/assets/stylesheets/elabs/lib/_codemirror.scss +2 -2
  93. data/app/assets/stylesheets/elabs/{_colors.scss → lib/_colors_reference.scss} +0 -52
  94. data/app/assets/stylesheets/elabs/lib/_license_icons.scss +121 -0
  95. data/app/assets/stylesheets/elabs/lib/fontawesome/_fontawesome.scss +1 -1
  96. data/app/assets/stylesheets/elabs/lib/fontawesome/_fonts.scss +18 -18
  97. data/app/assets/stylesheets/elabs/lib/knacss/_knacss.scss +1 -1
  98. data/app/assets/stylesheets/elabs/lib/knacss/_knacss_variables.scss +227 -0
  99. data/app/assets/stylesheets/elabs/style.scss +62 -57
  100. data/app/controllers/elabs/admin/admin_application_controller.rb +1 -1
  101. data/app/controllers/elabs/admin/announcements_controller.rb +71 -0
  102. data/app/controllers/elabs/concerns/elabs_controller.rb +3 -0
  103. data/app/controllers/elabs/content_application_controller.rb +4 -0
  104. data/app/controllers/elabs/elabs_public_controller.rb +15 -0
  105. data/app/controllers/elabs/languages_controller.rb +1 -5
  106. data/app/controllers/elabs/member/comments_controller.rb +42 -0
  107. data/app/controllers/elabs/member/member_application_controller.rb +1 -1
  108. data/app/controllers/elabs/reports_controller.rb +2 -0
  109. data/app/helpers/elabs/acts_helper.rb +7 -2
  110. data/app/helpers/elabs/application_helper.rb +8 -50
  111. data/app/helpers/elabs/content_filters_helper.rb +17 -24
  112. data/app/helpers/elabs/content_helper.rb +8 -35
  113. data/app/helpers/elabs/content_renderer_helper.rb +4 -112
  114. data/app/helpers/elabs/form_helper.rb +11 -11
  115. data/app/helpers/elabs/icons_helper.rb +63 -0
  116. data/app/helpers/elabs/{admin_content_helper.rb → links_admin_helper.rb} +1 -1
  117. data/app/helpers/elabs/links_helper.rb +58 -0
  118. data/app/helpers/elabs/{member_content_helper.rb → links_member_helper.rb} +2 -2
  119. data/app/helpers/elabs/notification_helper.rb +17 -3
  120. data/app/helpers/elabs/shortcodes_helper.rb +108 -0
  121. data/app/helpers/elabs/thumbnails_helper.rb +1 -1
  122. data/app/models/elabs/album.rb +14 -0
  123. data/app/models/elabs/announcement.rb +33 -0
  124. data/app/models/elabs/article.rb +14 -0
  125. data/app/models/elabs/comment.rb +10 -4
  126. data/app/models/elabs/note.rb +14 -0
  127. data/app/models/elabs/project.rb +12 -0
  128. data/app/models/elabs/report.rb +1 -0
  129. data/app/models/elabs/upload.rb +16 -0
  130. data/app/models/elabs/user.rb +2 -1
  131. data/app/views/elabs/acts/_filters.html.haml +3 -2
  132. data/app/views/elabs/acts/index.html.haml +2 -13
  133. data/app/views/elabs/admin/announcements/_announcement.json.jbuilder +10 -0
  134. data/app/views/elabs/admin/announcements/_form.html.haml +52 -0
  135. data/app/views/elabs/admin/announcements/edit.html.haml +3 -0
  136. data/app/views/elabs/admin/announcements/index.html.haml +28 -0
  137. data/app/views/elabs/admin/announcements/index.json.jbuilder +1 -0
  138. data/app/views/elabs/admin/announcements/new.html.haml +3 -0
  139. data/app/views/elabs/admin/licenses/index.html.haml +2 -2
  140. data/app/views/elabs/admin/uploads/_upload.json.jbuilder +3 -3
  141. data/app/views/elabs/albums/_card_content.html.haml +8 -0
  142. data/app/views/elabs/albums/_filters.html.haml +5 -3
  143. data/app/views/elabs/albums/index.html.haml +1 -1
  144. data/app/views/elabs/albums/show.html.haml +38 -29
  145. data/app/views/elabs/articles/_filters.html.haml +5 -3
  146. data/app/views/elabs/articles/index.html.haml +1 -1
  147. data/app/views/elabs/articles/show.html.haml +33 -25
  148. data/app/views/elabs/auth/confirmations/new.html.haml +1 -1
  149. data/app/views/elabs/auth/passwords/edit.html.haml +1 -1
  150. data/app/views/elabs/auth/passwords/new.html.haml +1 -1
  151. data/app/views/elabs/auth/registrations/new.html.haml +7 -2
  152. data/app/views/elabs/auth/sessions/_new.html.haml +1 -1
  153. data/app/views/elabs/auth/unlocks/new.html.haml +1 -1
  154. data/app/views/elabs/comments/_comments.html.haml +29 -20
  155. data/app/views/elabs/comments/_form.html.haml +40 -36
  156. data/app/views/elabs/languages/_filters.html.haml +3 -5
  157. data/app/views/elabs/languages/index.html.haml +12 -13
  158. data/app/views/elabs/languages/show.html.haml +36 -31
  159. data/app/views/elabs/layouts/_announcements.html.haml +9 -0
  160. data/app/views/elabs/layouts/_content_associations.html.haml +89 -0
  161. data/app/views/elabs/layouts/_content_card.html.haml +41 -0
  162. data/app/views/elabs/layouts/_flash_messages.html.haml +4 -0
  163. data/app/views/elabs/layouts/_footer.html.haml +18 -10
  164. data/app/views/elabs/layouts/_form_honeypot.html.haml +12 -0
  165. data/app/views/elabs/layouts/_hidden_entry.html.haml +1 -1
  166. data/app/views/elabs/layouts/_hidden_entry_full.html.haml +4 -2
  167. data/app/views/elabs/layouts/_hidden_entry_inline.html.haml +1 -1
  168. data/app/views/elabs/layouts/_language_menu.html.haml +2 -2
  169. data/app/views/elabs/layouts/_menu.html.haml +58 -75
  170. data/app/views/elabs/layouts/_menu_admin.html.haml +40 -0
  171. data/app/views/elabs/layouts/_menu_member.html.haml +57 -0
  172. data/app/views/elabs/layouts/application.html.haml +24 -13
  173. data/app/views/elabs/layouts/application_admin.html.haml +33 -0
  174. data/app/views/elabs/layouts/application_member.html.haml +36 -0
  175. data/app/views/elabs/layouts/{lists → content_classifiers_lists}/_albums.html.haml +0 -0
  176. data/app/views/elabs/layouts/{lists → content_classifiers_lists}/_projects.html.haml +0 -0
  177. data/app/views/elabs/layouts/{lists → content_classifiers_lists}/_tags.html.haml +0 -0
  178. data/app/views/elabs/layouts/{_shortcode_infinite_loop.html.haml → shortcodes/_infinite_loop.html.haml} +1 -1
  179. data/app/views/elabs/layouts/{_shortcode_infinite_loop_inline.html.haml → shortcodes/_infinite_loop_inline.html.haml} +0 -0
  180. data/app/views/elabs/layouts/{_shortcode_missing_content.html.haml → shortcodes/_missing_content.html.haml} +1 -1
  181. data/app/views/elabs/layouts/{_shortcode_missing_content_inline.html.haml → shortcodes/_missing_content_inline.html.haml} +0 -0
  182. data/app/views/elabs/layouts/shortcodes/_open_to_see.html.haml +2 -0
  183. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_github_repo_card.html.haml +1 -1
  184. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_github_repo_inline.html.haml +0 -0
  185. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_github_user_card.html.haml +0 -0
  186. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_gitlab_group_card.html.haml +1 -1
  187. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_gitlab_repo_card.html.haml +1 -1
  188. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_gitlab_repo_inline.html.haml +0 -0
  189. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/_gitlab_user_card.html.haml +1 -1
  190. data/app/views/elabs/layouts/shortcodes/widgets/vue/_all_widgets.html.haml +5 -0
  191. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_github_repo_card_vue.html.haml +8 -8
  192. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_github_user_card_vue.html.haml +5 -5
  193. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_gitlab_group_card_vue.html.haml +5 -5
  194. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_gitlab_repo_card_vue.html.haml +8 -8
  195. data/app/views/elabs/layouts/{widgets → shortcodes/widgets}/vue/_gitlab_user_card_vue.html.haml +4 -4
  196. data/app/views/elabs/licenses/_filters.html.haml +3 -2
  197. data/app/views/elabs/licenses/index.html.haml +14 -12
  198. data/app/views/elabs/licenses/show.html.haml +40 -34
  199. data/app/views/elabs/member/albums/_form.html.haml +1 -43
  200. data/app/views/elabs/member/articles/_form.html.haml +1 -39
  201. data/app/views/elabs/member/layouts/_form_commons.html.haml +55 -0
  202. data/app/views/elabs/member/notes/_form.html.haml +1 -39
  203. data/app/views/elabs/member/preferences/edit.html.haml +1 -2
  204. data/app/views/elabs/member/projects/_form.html.haml +3 -38
  205. data/app/views/elabs/member/uploads/_form.html.haml +1 -42
  206. data/app/views/elabs/member/uploads/_upload.json.jbuilder +3 -3
  207. data/app/views/elabs/member/users/edit.html.haml +3 -4
  208. data/app/views/elabs/notes/_filters.html.haml +5 -3
  209. data/app/views/elabs/notes/index.html.haml +1 -1
  210. data/app/views/elabs/notes/show.html.haml +33 -25
  211. data/app/views/elabs/projects/_filters.html.haml +5 -3
  212. data/app/views/elabs/projects/index.html.haml +1 -1
  213. data/app/views/elabs/projects/show.html.haml +68 -62
  214. data/app/views/elabs/reports/_form.html.haml +2 -0
  215. data/app/views/elabs/tags/_filters.html.haml +3 -2
  216. data/app/views/elabs/tags/index.html.haml +11 -11
  217. data/app/views/elabs/tags/show.html.haml +31 -28
  218. data/app/views/elabs/uploads/_filters.html.haml +5 -3
  219. data/app/views/elabs/uploads/_preview.html.haml +5 -4
  220. data/app/views/elabs/uploads/_thumbnail.html.haml +9 -0
  221. data/app/views/elabs/uploads/_upload.json.jbuilder +3 -3
  222. data/app/views/elabs/uploads/index.html.haml +1 -1
  223. data/app/views/elabs/uploads/show.html.haml +45 -39
  224. data/app/views/elabs/users/_filters.html.haml +3 -2
  225. data/app/views/elabs/users/_user.html.haml +3 -3
  226. data/app/views/elabs/users/show.html.haml +48 -43
  227. data/config/routes.rb +13 -8
  228. data/db/migrate/20181025084232_add_archived_field_to_comments.rb +5 -0
  229. data/db/migrate/20181026071743_delete_comment_notifications.rb +5 -0
  230. data/db/migrate/20181030063505_create_announcements.rb +14 -0
  231. data/docs/CODEOWNERS +10 -0
  232. data/docs/migrating.md +16 -1
  233. data/docs/shortcodes_guide.md +51 -0
  234. data/lib/assets/javascripts/README-highlight.js.md +5 -5
  235. data/lib/assets/javascripts/highlight.js-9.13.1/highlight.pack.js +2 -0
  236. data/lib/assets/stylesheets/{highlight.js-9.12.0 → highlight.js-9.13.1}/styles/atelier-sulphurpool-light.css +0 -0
  237. data/lib/elabs.rb +8 -0
  238. data/lib/elabs/version.rb +1 -1
  239. data/lib/generators/elabs/{devise_views_generator.rb → devise_mailer_views_generator.rb} +2 -2
  240. data/lib/generators/elabs/images_generator.rb +24 -0
  241. data/lib/generators/elabs/required_assets_generator.rb +0 -2
  242. data/lib/generators/templates/elabs.rb +3 -0
  243. data/locale/app.pot +132 -19
  244. data/locale/en/app.edit.po +130 -17
  245. data/locale/en/app.po +130 -17
  246. data/locale/fr/app.edit.po +145 -28
  247. data/locale/fr/app.po +141 -27
  248. data/package.json +10 -12
  249. data/yarn.lock +885 -668
  250. metadata +136 -97
  251. data/app/assets/stylesheets/elabs/_icons.scss +0 -17
  252. data/app/assets/stylesheets/elabs/app/_acts.scss +0 -69
  253. data/app/assets/stylesheets/elabs/app/_alerts.scss +0 -3
  254. data/app/assets/stylesheets/elabs/app/_badges.scss +0 -11
  255. data/app/assets/stylesheets/elabs/app/_buttons.scss +0 -29
  256. data/app/assets/stylesheets/elabs/app/_content.scss +0 -25
  257. data/app/assets/stylesheets/elabs/app/_content_statuses.scss +0 -32
  258. data/app/assets/stylesheets/elabs/app/_content_uploads.scss +0 -39
  259. data/app/assets/stylesheets/elabs/app/_empty.scss +0 -19
  260. data/app/assets/stylesheets/elabs/app/_errors.scss +0 -9
  261. data/app/assets/stylesheets/elabs/app/_filter_links.scss +0 -27
  262. data/app/assets/stylesheets/elabs/app/_forms.scss +0 -74
  263. data/app/assets/stylesheets/elabs/app/_languages.scss +0 -6
  264. data/app/assets/stylesheets/elabs/app/_layout.scss +0 -206
  265. data/app/assets/stylesheets/elabs/app/_licenses.scss +0 -6
  266. data/app/assets/stylesheets/elabs/app/_link-to-top.scss +0 -8
  267. data/app/assets/stylesheets/elabs/app/_tabs.scss +0 -54
  268. data/app/assets/stylesheets/elabs/app/_tags.scss +0 -6
  269. data/app/assets/stylesheets/elabs/app/_toolbars.scss +0 -3
  270. data/app/assets/stylesheets/elabs/app/_users.scss +0 -21
  271. data/app/assets/stylesheets/elabs/app/admin-members/_forms.scss +0 -13
  272. data/app/assets/stylesheets/elabs/app/admin-members/_indexes.scss +0 -46
  273. data/app/assets/stylesheets/elabs/app/admin-members/_layout.scss +0 -17
  274. data/app/assets/stylesheets/elabs/app/areas/_devise.scss +0 -31
  275. data/app/assets/stylesheets/elabs/app/components/_cards.scss +0 -16
  276. data/app/assets/stylesheets/elabs/app/components/_container.scss +0 -4
  277. data/app/assets/stylesheets/elabs/app/mixins/_classifier-card.scss +0 -16
  278. data/app/assets/stylesheets/elabs/app/mixins/_content-card.scss +0 -72
  279. data/app/assets/stylesheets/elabs/app/mixins/_content-full.scss +0 -77
  280. data/app/assets/stylesheets/elabs/app/widgets/_git-cards.scss +0 -88
  281. data/app/assets/stylesheets/elabs/lib/fontawesome/_icons.scss +0 -1118
  282. data/app/assets/stylesheets/elabs/lib/knacss/_knacss-variables.scss +0 -239
  283. data/app/views/elabs/albums/_album.html.haml +0 -38
  284. data/app/views/elabs/articles/_article.html.haml +0 -30
  285. data/app/views/elabs/languages/_associations.html.haml +0 -61
  286. data/app/views/elabs/layouts/_shortcode_open_to_see.html.haml +0 -2
  287. data/app/views/elabs/layouts/admin_application.html.haml +0 -21
  288. data/app/views/elabs/layouts/member_application.html.haml +0 -24
  289. data/app/views/elabs/layouts/widgets/vue/_all_widgets.html.haml +0 -5
  290. data/app/views/elabs/licenses/_associations.html.haml +0 -61
  291. data/app/views/elabs/notes/_note.html.haml +0 -31
  292. data/app/views/elabs/projects/_associations.html.haml +0 -54
  293. data/app/views/elabs/projects/_project.html.haml +0 -29
  294. data/app/views/elabs/tags/_associations.html.haml +0 -61
  295. data/app/views/elabs/uploads/_upload.html.haml +0 -41
  296. data/app/views/elabs/users/_associations.html.haml +0 -61
  297. data/db/seeds.rb +0 -10
  298. data/db/seeds_development.rb +0 -21
  299. data/db/seeds_production.rb +0 -0
  300. data/lib/assets/javascripts/codemirror-5.39.2/addon/mode/overlay.js +0 -90
  301. data/lib/assets/javascripts/codemirror-5.39.2/lib/codemirror.js +0 -9684
  302. data/lib/assets/javascripts/codemirror-5.39.2/mode/clike/clike.js +0 -834
  303. data/lib/assets/javascripts/codemirror-5.39.2/mode/css/css.js +0 -832
  304. data/lib/assets/javascripts/codemirror-5.39.2/mode/gfm/gfm.js +0 -129
  305. data/lib/assets/javascripts/codemirror-5.39.2/mode/htmlmixed/htmlmixed.js +0 -152
  306. data/lib/assets/javascripts/codemirror-5.39.2/mode/javascript/javascript.js +0 -896
  307. data/lib/assets/javascripts/codemirror-5.39.2/mode/markdown/markdown.js +0 -882
  308. data/lib/assets/javascripts/codemirror-5.39.2/mode/meta.js +0 -217
  309. data/lib/assets/javascripts/codemirror-5.39.2/mode/xml/xml.js +0 -402
  310. data/lib/assets/javascripts/highlight.js-9.12.0/highlight.pack.js +0 -2
  311. data/lib/assets/stylesheets/codemirror-5.39.2/lib/codemirror.css +0 -346
  312. data/lib/assets/stylesheets/codemirror-5.39.2/theme/base16-dark.css +0 -38
  313. data/lib/assets/stylesheets/codemirror-5.39.2/theme/base16-light.css +0 -38
@@ -1,239 +0,0 @@
1
- /* stylelint-disable */
2
-
3
- // Config file and project variables
4
-
5
- // ----------------
6
- // Breakpoints zone
7
- // ----------------
8
-
9
- // Warning: you should use your own values, regardless of the devices
10
- // Best practice is Mobile First: (min-width: $breakpoint)
11
- $tiny : 480px !default; // or 'em' if you prefer, of course
12
- $small : 576px !default;
13
- $medium : 768px !default;
14
- $large : 992px !default;
15
- $extra-large : 1200px !default;
16
-
17
- // ----------
18
- // Fonts zone
19
- // ----------
20
-
21
- // Font families
22
- $font-family-base : 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; // system font stack
23
- $font-family-headings : $font-family-base; // font for h1, h2.. h6
24
- $font-family-monospace : consolas, courier, monospace; // font for code and samples
25
-
26
- // Font sizes (1.6rem value is "16px" equivalent)
27
- $font-size-base : 1.6rem !default;
28
-
29
- $font-sizes: (
30
- smaller: (
31
- mobile : 1rem,
32
- desktop : 1.2rem
33
- ),
34
- small: (
35
- mobile : 1.2rem,
36
- desktop : 1.4rem
37
- ),
38
- base: (
39
- mobile : 1.4rem,
40
- desktop : $font-size-base
41
- ),
42
- h1: (
43
- mobile : 2.8rem,
44
- desktop : 3.2rem
45
- ),
46
- h2: (
47
- mobile : 2.4rem,
48
- desktop : 2.8rem
49
- ),
50
- h3: (
51
- mobile : 2.0rem,
52
- desktop : 2.4rem
53
- ),
54
- h4: (
55
- mobile : 1.8rem,
56
- desktop : 2.0rem
57
- ),
58
- h5: (
59
- mobile : 1.6rem,
60
- desktop : 1.8rem
61
- ),
62
- h6: (
63
- mobile : 1.4rem,
64
- desktop : 1.6rem
65
- )
66
- ) !default;
67
-
68
- // Line heights
69
- $line-height-s : 1.3 !default;
70
- $line-height-base : 1.5 !default;
71
- $line-height-l : 1.7 !default;
72
-
73
- // Default margin-bottom
74
- $margin-bottom-base : 1rem !default;
75
- $headings-margin-bottom : $margin-bottom-base /2 !default;
76
- $paragraph-margin-bottom: $margin-bottom-base !default;
77
-
78
- // Font weights
79
- $weight-light : 200 !default;
80
- $weight-book : 300 !default;
81
- $weight-regular : 400 !default;
82
- $weight-medium : 500 !default;
83
- $weight-bold : 700 !default;
84
-
85
- // Activate hyphenation on small screens
86
- $hyphens: false !default;
87
-
88
- // ------------
89
- // Spacing zone
90
- // ------------
91
-
92
- // Grid gutters (for .has-gutter-* classes)
93
- $grid-gutters: (
94
- '': 1rem,
95
- '-l': 2rem,
96
- '-xl': 4rem
97
- ) !default;
98
-
99
- // Spacings
100
- $spacer-tiny : .5rem !default;
101
- $spacer-tiny-plus : .7rem !default;
102
- $spacer-small : 1rem !default;
103
- $spacer-small-plus : 1.5rem !default;
104
- $spacer-medium : 2rem !default;
105
- $spacer-medium-plus : 3rem !default;
106
- $spacer-large : 4rem !default;
107
- $spacer-large-plus : 6rem !default;
108
- $spacer-extra-large : 8rem !default;
109
- $spacer-extra-large-plus : 12rem !default;
110
- $spacer-ultra-large : 16rem !default;
111
- $spacer-ultra-large-plus : 20rem !default;
112
-
113
- // z-indexes
114
- $zindex-navigation : 1000 !default;
115
- $zindex-dropdown : 2000 !default;
116
- $zindex-popover : 3000 !default;
117
- $zindex-tooltip : 4000 !default;
118
- $zindex-modal : 5000 !default;
119
- $zindex-notification : 6000 !default;
120
- $zindex-debug : 7000 !default;
121
-
122
- // ----------
123
- // Color zone
124
- // ----------
125
-
126
- // Color names
127
- $white : $color-white;
128
- $gray-100 : $color-grey-100;
129
- $gray-200 : $color-grey-200;
130
- $gray-300 : $color-grey-300;
131
- $gray-400 : $color-grey-400;
132
- $gray-500 : $color-grey-500;
133
- $gray-600 : $color-grey-600;
134
- $gray-700 : $color-grey-700;
135
- $gray-800 : $color-grey-800;
136
- $gray-900 : $color-grey-900;
137
- $black : $color-black;
138
-
139
- $blue-300 : $color-blue-300;
140
- $blue-500 : $color-blue-500;
141
- $green-500 : $color-green-500;
142
- $orange-500 : $color-orange-500;
143
- $red-500 : $color-red-500;
144
-
145
- // Semantic colors
146
- //$color-brand : $green-500;
147
- //$color-primary : $blue-500;
148
- //$color-success : $green-500;
149
- //$color-info : $blue-300;
150
- //$color-warning : $orange-500;
151
- //$color-danger : $red-500;
152
- //$color-inverse : $gray-800;
153
- //$color-ghost : transparent;
154
- //$color-muted : $gray-200;
155
-
156
- //$color-base : $gray-900;
157
- $background-base : $color-background-base;
158
-
159
- $forms-color : $gray-800;
160
-
161
- // ---------------
162
- // Components zone
163
- // ---------------
164
-
165
- // Component: links
166
- //$link-color : $gray-800;
167
- //$link-color-hover : darken($link-color, 15%);
168
- $link-decoration : underline;
169
- $link-decoration-hover : underline;
170
-
171
- // Global border-radius
172
- $border-radius: 0 !default;
173
-
174
- // Component: quotes
175
- $quote-color : $color-grey-200;
176
-
177
- // Component: arrows
178
- $arrow-color : $color-black;
179
-
180
- // Components: checkboxes, radios, switches
181
- $checkbox-color: $color-white;
182
- $checkbox-background: $gray-800;
183
- $checkbox-size: 2rem;
184
- $checkbox-border-radius: 4px;
185
- $radio-color: $gray-800;
186
- $radio-background: $color-white;
187
- $switch-color: $color-white;
188
- $switch-background: $gray-800;
189
- $switch-size: 2rem;
190
- $switch-border-radius: 3em;
191
-
192
- // Component: tables
193
- //$table-border : $gray-500;
194
- //$table-caption-color : $gray-800;
195
- //$table-background : transparent;
196
- //$table-head-color : $color-base;
197
- //$table-head-background : transparent;
198
- //$table-footer-color : $color-base;
199
- //$table-footer-background : transparent;
200
-
201
- // Components: buttons, badges, alerts color variants list
202
- // Convention is: name - background-color - color - border
203
- $variants-list: (
204
- (download, $color-brand, $white, none),
205
- (primary, $color-primary, $white, none),
206
- (new, $color-primary, $white, none),
207
- (save, $color-success, $white, none),
208
- (show, $color-primary, $white, none),
209
- (edit, $color-primary, $white, none),
210
- (success, $color-success, $white, none),
211
- (info, $color-info, $white, none),
212
- (notice, $color-info, $white, none),
213
- (warning, $color-warning, $black, none),
214
- (lock, $color-warning, $black, none),
215
- (danger, $color-danger, $white, none),
216
- (destroy, $color-danger, $white, none),
217
- (inverse, $color-inverse, $white, none),
218
- (experimental, $color-brand, $color-base, none),
219
- (ghost, $color-ghost, $white, 0 0 0 1px $white inset)
220
- ) !default;
221
-
222
- // Component: tabs
223
- $tabs-border : $gray-200;
224
- $tabs-active-border : $gray-800;
225
- $tabs-color : $color-base;
226
- $tabs-active-color : $gray-800;
227
- $tabs-background : transparent;
228
- $tabs-active-background : transparent;
229
- $tabs-border-radius : 0;
230
-
231
- // Component: nav burger button
232
- $burger-color : $gray-800;
233
- $burger-background : transparent;
234
- $burger-hover-background : transparent;
235
- $burger-size : 2.6rem;
236
- $burger-weight : 5px; // size of stripes
237
- $burger-padding : 0;
238
-
239
- /* stylelint-enable */
@@ -1,38 +0,0 @@
1
- - if !show_item? album
2
- = render 'elabs/layouts/hidden_entry', entity: album
3
- - else
4
- .album.album-card
5
- %header
6
- .icon= icon 'book', %w[3x fw]
7
- .headers
8
- %h3{ lang: album.language.iso639_1 }= link_to album.name, album, class: 'title'
9
-
10
- %ul.informations
11
- %li
12
- = icon('user', ['fw'])
13
- %strong= _('User:')
14
- = link_to album.user.display_name, album.user
15
- %li
16
- = icon('language', ['fw'])
17
- %strong= _('Language:')
18
- = link_to album.language.name, album.language
19
- %li
20
- = icon('license', ['fw'])
21
- %strong= _('License:')
22
- = link_to album.license.name, album.license
23
- %li
24
- = icon('info', ['fw'])
25
- %strong= _('SFW:')
26
- = boolean_icon_tag album.sfw, 'is-sfw', 'is-nsfw'
27
- %li= render 'elabs/layouts/lists/projects', projects: album.projects
28
- %li= render 'elabs/layouts/lists/tags', tags: album.tags
29
- %article{ lang: album.language.iso639_1 }
30
- = render_entity_content album, :description, false
31
- .content__relations
32
- = render 'elabs/layouts/empty' if album.uploads.length.zero?
33
- .uploads-list
34
- - album.uploads.published.limit(Elabs.albums_max_shown_uploads).each do |upload|
35
- = render 'elabs/uploads/preview', upload: upload
36
- - if album.uploads_count > Elabs.albums_max_shown_uploads
37
- .more
38
- +#{album.uploads_count - Elabs.albums_max_shown_uploads}
@@ -1,30 +0,0 @@
1
- - if !show_item? article
2
- = render 'elabs/layouts/hidden_entry', entity: article
3
- - else
4
- .article.article-card
5
- %header
6
- .icon= icon 'font', %w[3x fw]
7
- .headers
8
- %h3{ lang: article.language.iso639_1 }= link_to article.title, article, class: 'title'
9
-
10
- %ul.informations
11
- %li
12
- = icon('user', ['fw'])
13
- %strong= _('User:')
14
- = link_to article.user.display_name, article.user
15
- %li
16
- = icon('language', ['fw'])
17
- %strong= _('Language:')
18
- = link_to article.language.name, article.language
19
- %li
20
- = icon('license', ['fw'])
21
- %strong= _('License:')
22
- = link_to article.license.name, article.license
23
- %li
24
- = icon('info', ['fw'])
25
- %strong= _('SFW:')
26
- = boolean_icon_tag article.sfw, 'is-sfw', 'is-nsfw'
27
- %li= render 'elabs/layouts/lists/projects', projects: article.projects
28
- %li= render 'elabs/layouts/lists/tags', tags: article.tags
29
-
30
- %article{ lang: article.language.iso639_1 }= render_entity_content article, :excerpt, false
@@ -1,61 +0,0 @@
1
- %aside.tabs
2
- %ul.tabs__tabs-list
3
- %li.tabs__tabs-list__tab#tab-albums
4
- %a{ href: '#tab-content-albums', onclick: 'selectTab(event, "albums")' }
5
- = _('Albums')
6
- %span.badge.badge--notification= language.albums_count
7
- %li.tabs__tabs-list__tab#tab-articles
8
- %a{ href: '#tab-content-articles', onclick: 'selectTab(event, "articles")' }
9
- = _('Articles')
10
- %span.badge.badge--notification= language.articles_count
11
- %li.tabs__tabs-list__tab#tab-notes
12
- %a{ href: '#tab-content-notes', onclick: 'selectTab(event, "notes")' }
13
- = _('Notes')
14
- %span.badge.badge--notification= language.notes_count
15
- %li.tabs__tabs-list__tab#tab-projects
16
- %a{ href: '#tab-content-projects', onclick: 'selectTab(event, "projects")' }
17
- = _('Projects')
18
- %span.badge.badge--notification= language.projects_count
19
- %li.tabs__tabs-list__tab#tab-uploads
20
- %a{ href: '#tab-content-uploads', onclick: 'selectTab(event, "uploads")' }
21
- = _('Uploads')
22
- %span.badge.badge--notification= language.uploads_count
23
-
24
- %section.tabs__tab-content.albums-list#tab-content-albums
25
- .tabs__tab-content__title
26
- %h2= format _('Last %<amount>i albums:'), amount: Elabs.max_related_items
27
- .actions= link_to _('Show all'), language_albums_url(language)
28
- - language_albums.each do |a|
29
- = render 'elabs/albums/album', album: a
30
-
31
- %section.tabs__tab-content.articles-list#tab-content-articles
32
- .tabs__tab-content__title
33
- %h2= format _('Last %<amount>i articles:'), amount: Elabs.max_related_items
34
- .actions= link_to _('Show all'), language_articles_url(language)
35
- - language_articles.each do |a|
36
- = render 'elabs/articles/article', article: a
37
-
38
- %section.tabs__tab-content.notes-list#tab-content-notes
39
- .tabs__tab-content__title
40
- %h2= format _('Last %<amount>i notes:'), amount: Elabs.max_related_items
41
- .actions= link_to _('Show all'), language_notes_url(language)
42
- - language_notes.each do |n|
43
- = render 'elabs/notes/note', note: n
44
-
45
- %section.tabs__tab-content.projects-list#tab-content-projects
46
- .tabs__tab-content__title
47
- %h2= format _('Last %<amount>i projects:'), amount: Elabs.max_related_items
48
- .actions= link_to _('Show all'), language_projects_url(language)
49
- - language_projects.each do |p|
50
- = render 'elabs/projects/project', project: p
51
-
52
- %section.tabs__tab-content.uploads-list#tab-content-uploads
53
- .tabs__tab-content__title
54
- %h2= format _('Last %<amount>i uploads:'), amount: Elabs.max_related_items
55
- .actions= link_to _('Show all'), language_uploads_url(language)
56
- - language_uploads.each do |u|
57
- = render 'elabs/uploads/upload', upload: u
58
-
59
- :javascript
60
- initializeTabs ()
61
- selectTab('albums')
@@ -1,2 +0,0 @@
1
- .missing
2
- = icon_text 'eye-open', _('Display the full element to display this content...')
@@ -1,21 +0,0 @@
1
- !!!
2
- %html
3
- %head
4
- %meta{ content: 'text/html; charset=UTF-8', 'http-equiv': 'Content-Type' }/
5
- %title= page_title(@page_title, _('Admin'))
6
- = csrf_meta_tags
7
- = stylesheet_link_tag 'application', media: 'all'
8
- = javascript_include_tag 'application'
9
- %body.page.page--admin
10
- %noscript
11
- = _('Javascript seems to be disabled.')
12
- = render 'elabs/layouts/menu'
13
-
14
- - if @page_title # This variable should be set in views (or controllers)
15
- %h1.page__title= @page_title
16
-
17
- .page__content
18
- .page__content__container
19
- = yield
20
-
21
- = render 'elabs/layouts/footer'
@@ -1,24 +0,0 @@
1
- !!!
2
- %html
3
- %head
4
- %meta{ content: 'text/html; charset=UTF-8', 'http-equiv': 'Content-Type' }/
5
- %title= page_title(@page_title, _('Member'))
6
- = csrf_meta_tags
7
- = stylesheet_link_tag 'application', media: 'all'
8
- = javascript_include_tag 'application'
9
- %body.page.page--member
10
- %noscript
11
- = _('Javascript seems to be disabled.')
12
- = render 'elabs/layouts/menu'
13
-
14
- - if @page_title # This variable should be set in views (or controllers)
15
- %h1.page__title= @page_title
16
-
17
- .page__content
18
- .page__content__container
19
- = yield
20
-
21
- = render 'elabs/layouts/footer'
22
-
23
- -# Widget templates
24
- = render 'elabs/layouts/widgets/vue/all_widgets'
@@ -1,5 +0,0 @@
1
- = render 'elabs/layouts/widgets/vue/github_repo_card_vue'
2
- = render 'elabs/layouts/widgets/vue/github_user_card_vue'
3
- = render 'elabs/layouts/widgets/vue/gitlab_repo_card_vue'
4
- = render 'elabs/layouts/widgets/vue/gitlab_user_card_vue'
5
- = render 'elabs/layouts/widgets/vue/gitlab_group_card_vue'
@@ -1,61 +0,0 @@
1
- %aside.tabs
2
- %ul.tabs__tabs-list
3
- %li.tabs__tabs-list__tab#tab-albums
4
- %a{ href: '#tab-content-albums', onclick: 'selectTab(event, "albums")' }
5
- = _('Albums')
6
- %span.badge.badge--notification= license.albums_count
7
- %li.tabs__tabs-list__tab#tab-articles
8
- %a{ href: '#tab-content-articles', onclick: 'selectTab(event, "articles")' }
9
- = _('Articles')
10
- %span.badge.badge--notification= license.articles_count
11
- %li.tabs__tabs-list__tab#tab-notes
12
- %a{ href: '#tab-content-notes', onclick: 'selectTab(event, "notes")' }
13
- = _('Notes')
14
- %span.badge.badge--notification= license.notes_count
15
- %li.tabs__tabs-list__tab#tab-projects
16
- %a{ href: '#tab-content-projects', onclick: 'selectTab(event, "projects")' }
17
- = _('Projects')
18
- %span.badge.badge--notification= license.projects_count
19
- %li.tabs__tabs-list__tab#tab-uploads
20
- %a{ href: '#tab-content-uploads', onclick: 'selectTab(event, "uploads")' }
21
- = _('Uploads')
22
- %span.badge.badge--notification= license.uploads_count
23
-
24
- %section.tabs__tab-content.albums-list#tab-content-albums
25
- .tabs__tab-content__title
26
- %h2= format _('Last %<amount>i albums:'), amount: Elabs.max_related_items
27
- .actions= link_to _('Show all'), license_albums_url(license)
28
- - license_albums.each do |a|
29
- = render 'elabs/albums/album', album: a
30
-
31
- %section.tabs__tab-content.articles-list#tab-content-articles
32
- .tabs__tab-content__title
33
- %h2= format _('Last %<amount>i articles:'), amount: Elabs.max_related_items
34
- .actions= link_to _('Show all'), license_articles_url(license)
35
- - license_articles.each do |a|
36
- = render 'elabs/articles/article', article: a
37
-
38
- %section.tabs__tab-content.notes-list#tab-content-notes
39
- .tabs__tab-content__title
40
- %h2= format _('Last %<amount>i notes:'), amount: Elabs.max_related_items
41
- .actions= link_to _('Show all'), license_notes_url(license)
42
- - license_notes.each do |n|
43
- = render 'elabs/notes/note', note: n
44
-
45
- %section.tabs__tab-content.projects-list#tab-content-projects
46
- .tabs__tab-content__title
47
- %h2= format _('Last %<amount>i projects:'), amount: Elabs.max_related_items
48
- .actions= link_to _('Show all'), license_projects_url(license)
49
- - license_projects.each do |p|
50
- = render 'elabs/projects/project', project: p
51
-
52
- %section.tabs__tab-content.uploads-list#tab-content-uploads
53
- .tabs__tab-content__title
54
- %h2= format _('Last %<amount>i uploads:'), amount: Elabs.max_related_items
55
- .actions= link_to _('Show all'), license_uploads_url(license)
56
- - license_uploads.each do |u|
57
- = render 'elabs/uploads/upload', upload: u
58
-
59
- :javascript
60
- initializeTabs ()
61
- selectTab('albums')