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,13 +1,294 @@
1
+ /* stylelint-disable scss/dollar-variable-colon-space-before */
2
+
1
3
  /* ------------------
2
- EL-CMS variables
4
+ ELabs : General variables
3
5
  ------------------ */
4
6
 
7
+ // Font families
8
+ $font-family-base : 'Open Sans', 'Helvetica Neue', helvetica, arial, sans-serif !default;
9
+ $font-family-headings : $font-family-base !default;
10
+ $font-family-monospace : 'Fira Code', consolas, courier, monospace !default;
11
+
12
+ // Semantic colors:
13
+ $color-brand : #f6bb42;
14
+ $color-danger : $color-red-500;
15
+ $color-error : $color-red-500;
16
+ $color-ghost : transparent;
17
+ $color-info : $color-blue-300;
18
+ $color-muted : $color-grey-400;
19
+ $color-primary : $color-blue-500;
20
+ $color-success : $color-green-500;
21
+ $color-warning : $color-orange-500;
22
+
23
+ // Foreground/background colors
24
+ $color-base: $color-grey-600;
25
+ $color-background-base: $color-grey-50;
26
+ $color-inverse: $color-grey-100;
27
+ $color-background-inverse: $color-orange-300;
28
+
29
+ // Borders
30
+ $color-borders: transparentize($color-base, .9);
31
+ $color-in-card-borders: transparentize($color-base, .8);
32
+
33
+ // Links
34
+ $link-color: $color-grey-800;
35
+ $link-color-hover: $color-grey-600;
36
+
37
+ // User content colors
38
+ $content-album-bg: $color-white;
39
+ $content-article-bg: $color-white;
40
+ $content-note-bg: $color-white;
41
+ $content-project-bg: $color-white;
42
+ $content-upload-bg: $color-white;
43
+
44
+ // Classifiers
45
+ $language-bg: $color-green-100;
46
+ $license-bg: $color-orange-200;
47
+ $tag-bg: $color-blue-100;
48
+ $user-bg: $color-blue-grey-100;
49
+
50
+ // NSFW notices
51
+ $color-nsfw: $color-grey-600;
52
+ $color-nsfw-background: $color-grey-300;
53
+
54
+ // Spacing
55
+ $spacer-tiny : .5rem !default;
56
+ $spacer-tiny-plus : .7rem !default;
57
+ $spacer-small : 1rem !default;
58
+ $spacer-small-plus : 1.5rem !default;
59
+ $spacer-medium : 2rem !default;
60
+ $spacer-medium-plus : 3rem !default;
61
+ $spacer-large : 4rem !default;
62
+ $spacer-large-plus : 6rem !default;
63
+ $spacer-extra-large : 8rem !default;
64
+ $spacer-extra-large-plus : 12rem !default;
65
+ $spacer-ultra-large : 16rem !default;
66
+ $spacer-ultra-large-plus : 20rem !default;
67
+
68
+ // Responsive Breakpoints
69
+ $tiny : 480px !default;
70
+ $small : 576px !default;
71
+ $medium : 768px !default;
72
+ $large : 992px !default;
73
+ $extra-large : 1200px !default;
74
+
75
+ // Font sizes:
76
+ $font-size-base: 1.6rem !default;
77
+ $font-sizes:
78
+ (
79
+ smaller: (
80
+ mobile : 1rem,
81
+ desktop : 1.2rem
82
+ ),
83
+ small: (
84
+ mobile : 1.2rem,
85
+ desktop : 1.4rem
86
+ ),
87
+ base: (
88
+ mobile : 1.4rem,
89
+ desktop : $font-size-base
90
+ ),
91
+ h1: (
92
+ mobile : 2.8rem,
93
+ desktop : 3.2rem
94
+ ),
95
+ h2: (
96
+ mobile : 2.4rem,
97
+ desktop : 2.8rem
98
+ ),
99
+ h3: (
100
+ mobile : 2rem,
101
+ desktop : 2.4rem
102
+ ),
103
+ h4: (
104
+ mobile : 1.8rem,
105
+ desktop : 2rem
106
+ ),
107
+ h5: (
108
+ mobile : 1.6rem,
109
+ desktop : 1.8rem
110
+ ),
111
+ h6: (
112
+ mobile : 1.4rem,
113
+ desktop : 1.6rem
114
+ )
115
+ ) !default;
116
+
117
+ // Z-indexes
118
+ $zindex-navigation : 1000 !default;
119
+ $zindex-dropdown : 2000 !default;
120
+ $zindex-popover : 3000 !default;
121
+ $zindex-tooltip : 4000 !default;
122
+ $zindex-modal : 5000 !default;
123
+ $zindex-notification : 6000 !default;
124
+ $zindex-debug : 7000 !default;
125
+
126
+ // Font weights
127
+ $weight-light : 200 !default;
128
+ $weight-book : 400 !default;
129
+ $weight-regular : 400 !default;
130
+ $weight-medium : 500 !default;
131
+ $weight-bold : 700 !default;
132
+
133
+ // Color variants for various components
134
+ $variants-list:
135
+ (
136
+ ( download, $color-brand, $color-white, none),
137
+ ( primary, $color-primary, $color-white, none),
138
+ ( new, $color-primary, $color-white, none),
139
+ ( save, $color-success, $color-white, none),
140
+ ( show, $color-primary, $color-white, none),
141
+ ( edit, $color-primary, $color-white, none),
142
+ ( success, $color-success, $color-white, none),
143
+ ( info, $color-info, $color-white, none),
144
+ ( notice, $color-info, $color-white, none),
145
+ ( warning, $color-warning, $color-black, none),
146
+ ( lock, $color-warning, $color-black, none),
147
+ ( danger, $color-danger, $color-white, none),
148
+ ( destroy, $color-danger, $color-white, none),
149
+ ( inverse, $color-inverse, $color-white, none),
150
+ ( experimental, $color-brand, $color-base, none),
151
+ ( ghost, $color-ghost, $color-white, 0 0 0 1px $color-white inset)
152
+ ) !default;
153
+
154
+ // ------- /KNA
155
+
5
156
  // Border-related variables
6
- $border-default: 1px solid $color-borders;
7
- $border-radius: 3px;
8
- $border-radius-lg: 5px;
157
+ $border-default : 1px solid $color-borders;
158
+ $border-radius : 0;
159
+
160
+ /* ------------------
161
+ ELabs : Layout/Html variables
162
+ ------------------ */
163
+
164
+ // Acts list
165
+ $acts-date-background-color: darken($color-background-base, 2%) !default;
166
+
167
+ // Forms
168
+ $form-input-background-color : transparent !default;
169
+ $form-input-border-color : $color-grey-300 !default;
170
+ $form-input-border : 1px solid transparent !default;
171
+ $form-input-focus-border-color : $color-grey-700 !default;
172
+ $form-input-color : $color-grey-800 !default;
173
+ $form-actions-background : darken($color-background-base, 2%) !default;
174
+
175
+ // Page headers
176
+ $page-header-links-color : $color-brand !default;
177
+ $page-title-color : darken($color-brand, 15%) !default;
178
+
179
+ // Tables
180
+ $table-row-even-background-color : darken($color-background-base, 10%) !default;
181
+ $table-row-hover-background-color : darken($color-background-base, 5%) !default;
182
+
183
+ /* ------------------
184
+ ELabs : Components variables
185
+ ------------------ */
186
+
187
+ // Act component
188
+ $act-grid-cols : 4 !default;
189
+ $act-grid-time-cols : 1 !default;
190
+ $act-history-dot-size : 20px !default;
191
+ $act-history-dot-border-color : $color-white !default;
192
+ $act-history-dot-border-radius : $act-history-dot-size / 2 !default;
193
+ $act-history-dot-border-width : 3px !default;
194
+ $act-history-dot-color : $color-brand !default;
195
+ $act-history-line-spacer : $spacer-small !default;
196
+ $act-history-line-style : 1px dashed opacify($color-borders, .1) !default;
197
+ $act-status-background : $color-grey-100 !default;
198
+ $act-status-icon-lock : $fa-var-lock !default;
199
+ $act-status-icon-unlock : $fa-var-unlock !default;
200
+ $act-status-icon-unpublish : $fa-var-eye-slash !default;
201
+ $act-status-icon-update : $fa-var-sync !default;
202
+ $act-status-quote-size : 'small' !default;
203
+ $act-time-font-size : 'small' !default;
204
+
205
+ // Alerts
206
+ $alert-border-radius: $border-radius !default;
207
+
208
+ // Announcements
209
+ $announcement-border-radius: 3px !default;
210
+
211
+ // Badges
212
+ $badge-background-color: $color-background-base !default;
213
+
214
+ // Buttons
215
+ $button-border-radius : $border-radius !default;
216
+ $button-group-color : $color-white !default;
217
+
218
+ // Card
219
+ $card-background-color : $color-grey-100 !default;
220
+ $card-border-radius : $border-radius !default;
221
+ $card-border : $border-default !default;
222
+ $card-content-color : $color-grey-500 !default;
223
+ $card-infos-color : $color-grey-400 !default;
224
+ $card-title-color : $color-grey-600 !default;
225
+
226
+ // Classifier card (language, tag, user, ...)
227
+ $classifier-card-content-vertical-padding : $spacer-tiny !default;
228
+ $classifier-card-padding : $spacer-medium !default;
229
+
230
+ // Comment
231
+ $comment-archived-opacity: .5 !default;
232
+
233
+ // Empty areas
234
+ $empty-background-color : $card-background-color !default;
235
+ $empty-color : $color-muted !default;
236
+
237
+ // Error areas
238
+ $error-background-color : $color-red-500 !default;
239
+ $error-color : $color-error !default;
240
+
241
+ // Links for content filters
242
+ $filter-links-color : darken($color-brand, 30%) !default;
243
+ $filter-links-panel-bg : lighten($color-brand, 5%) !default;
244
+ $filter-links-panel-hover-bg : lighten($filter-links-panel-bg, 5%) !default;
245
+ $filter-links-titles-bg : $filter-links-panel-bg !default;
246
+
247
+ // Fixed links (to-top, to-report)
248
+ $fixed-link-to-report-background : $color-warning !default;
249
+ $fixed-link-to-top-background : $color-brand !default;
250
+ $fixed-links-border-radius : $border-radius !default;
251
+
252
+ // Menu
253
+ $menu-background-color : $color-brand !default;
254
+ $menu-color : darken($menu-background-color, 30%);
255
+ $menu-link-background-color-hover : lighten($menu-background-color, 10%) !default;
256
+ $menu-link-color : $menu-color !default;
257
+ $menu-dropdown-background-color-hover : lighten($menu-link-background-color-hover, 10%) !default;
258
+ $menu-item-active-border-color : darken($menu-background-color, 20%) !default;
259
+ $menu-item-hover-icon-color : transparentize($menu-link-color, .2);
260
+ $menu-item-icon-color : transparentize($menu-link-color, .8);
261
+ $menu-separator-color : $menu-link-color !default;
262
+
263
+ // Dropdowns
264
+ $dropdown-link-color : $menu-link-color !default;
265
+ $dropdown-link-hover-color : $menu-link-color !default;
266
+
267
+ // Modals
268
+ $modal-background-color : $color-background-base !default;
269
+ $modal-overlay-background-color : $color-grey-800 !default;
270
+ $page-headers-background-color : $color-brand !default;
271
+
272
+ // Status cards
273
+ $status-background-color : $color-nsfw-background !default;
274
+ $status-border-radius : $border-radius !default;
275
+ $status-inline-border-radius : $status-border-radius !default;
276
+ $status-padding : $spacer-small !default;
277
+ $status-color : $color-nsfw !default;
278
+
279
+ // Tabs
280
+ $tab-active-background-color : $color-white !default;
281
+ $tab-border-color : $color-borders !default;
282
+ $tab-hover-background-color : transparentize($color-black, .9) !default;
283
+
284
+ // Shortcode widgets
285
+ $widget-card-avatar-border-radius : $border-radius !default;
286
+ $widget-card-background-color : $color-white !default;
287
+ $widget-card-border-radius : $border-radius !default;
9
288
 
10
289
  /* ------------------
11
290
  FontAwesome variables
12
291
  ------------------ */
13
- $fa-font-path: '/fonts';
292
+ $fa-font-path: 'elabs';
293
+
294
+ /* Stylelint-enable */
@@ -0,0 +1,83 @@
1
+ .act {
2
+
3
+ // Time -----------------------------
4
+ &__time {
5
+ display: none;
6
+ }
7
+
8
+ // Responsive variations ------------
9
+ @include respond-to('medium-up') {
10
+ @include grid($act-grid-cols, $act-history-line-spacer);
11
+
12
+ &__time {
13
+ @include font-size($act-time-font-size);
14
+ display: block;
15
+ grid-column: auto / span $act-grid-time-cols;
16
+ text-align: right;
17
+
18
+ // History circle ---------------
19
+ &:after {
20
+ content: '';
21
+ display: inline-block;
22
+ width: $act-history-dot-size;
23
+ height: $act-history-dot-size;
24
+ background-color: $act-history-dot-color;
25
+ margin-left: $act-history-line-spacer;
26
+ border: $act-history-dot-border-width solid $act-history-dot-border-color;
27
+ border-radius: $act-history-dot-border-radius;
28
+ transform: translateY($act-history-dot-size / 4);
29
+ }
30
+ }
31
+
32
+ // This is the place for a content-card or act-status
33
+ &__content {
34
+ grid-column: auto / span 3;
35
+ margin-left: calc(#{-$act-history-dot-size / 2} - #{$act-history-line-spacer});
36
+ padding-left: calc(#{$act-history-dot-size / 2} + #{$act-history-line-spacer});
37
+ border-left: $act-history-line-style;
38
+ }
39
+ }
40
+ }
41
+
42
+ // Act action: for statuses only ------
43
+ .act-status {
44
+ @extend %card;
45
+ background-color: $act-status-background;
46
+ padding: $spacer-small;
47
+
48
+ &--update:before {
49
+ @include icon($act-status-icon-update, true);
50
+ }
51
+
52
+ &--unpublish:before {
53
+ @include icon($act-status-icon-unpublish, true);
54
+ }
55
+
56
+ &--lock:before {
57
+ @include icon($act-status-icon-lock, true);
58
+ }
59
+
60
+ &--unlock:before {
61
+ @include icon($act-status-icon-unlock, true);
62
+ }
63
+
64
+ // Quotes, used for the reason ------
65
+ q {
66
+ @include font-size($act-status-quote-size);
67
+ font-style: italic;
68
+
69
+ &:before {
70
+ content: '—';
71
+ margin-right: $spacer-tiny;
72
+ }
73
+
74
+ &:after {
75
+ content: '';
76
+ }
77
+ }
78
+
79
+ // Responsive variations ----------
80
+ @include respond-to('small-up') {
81
+ padding: $spacer-medium;
82
+ }
83
+ }
@@ -0,0 +1,41 @@
1
+ .announcements {
2
+ padding-top: $spacer-small;
3
+
4
+ .announcement {
5
+ @extend %content-container;
6
+ @include font-size('base');
7
+ padding: $spacer-small;
8
+ border-radius: $announcement-border-radius;
9
+
10
+ // Semantic variations ------------
11
+ @each $name, $background-color in $variants-list {
12
+
13
+ &--#{$name} {
14
+ background: $background-color;
15
+ color: $color-white;
16
+ }
17
+ }
18
+
19
+ &:first-child {
20
+ margin-top: $spacer-medium;
21
+ }
22
+
23
+ &:not(:first-child) {
24
+ margin-top: $spacer-small;
25
+ }
26
+
27
+ .close-button {
28
+ @extend %clickable;
29
+ float: right;
30
+ }
31
+
32
+ &.hidden {
33
+ display: none;
34
+ }
35
+
36
+ // Responsive variations ----------
37
+ @include respond-to('small-up') {
38
+ padding: $spacer-medium;
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,43 @@
1
+ // Languages
2
+ .language {
3
+
4
+ &-card {
5
+ @include classifier-card($language-bg);
6
+ }
7
+ }
8
+
9
+ // Licenses ---------------------------
10
+ .license {
11
+
12
+ &-card {
13
+ @include classifier-card($license-bg);
14
+ }
15
+ }
16
+
17
+ // Tags -------------------------------
18
+ .tag {
19
+
20
+ &-card {
21
+ @include classifier-card($tag-bg);
22
+ }
23
+ }
24
+
25
+ // Users ------------------------------
26
+ .user {
27
+
28
+ &-card {
29
+ @include classifier-card($user-bg);
30
+
31
+ header {
32
+ height: 64px;
33
+ }
34
+ }
35
+
36
+ &--inline {
37
+ display: inline;
38
+
39
+ .avatar {
40
+ max-width: 1.5em;
41
+ }
42
+ }
43
+ }