archangel 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (589) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +5 -1
  3. data/.erb-lint.yml +23 -0
  4. data/.eslintrc.json +1 -1
  5. data/.nvmrc +1 -1
  6. data/.rubocop.yml +7 -1
  7. data/.rubocop_exclude.yml +0 -1
  8. data/.sass-lint.yml +8 -0
  9. data/.travis.yml +13 -5
  10. data/Gemfile +19 -13
  11. data/README.md +10 -6
  12. data/app/assets/javascripts/archangel/input/datetimepicker.js +31 -77
  13. data/app/assets/javascripts/archangel/input/meta_keywords.js +0 -12
  14. data/app/assets/javascripts/archangel/input/wysiwyg.js.erb +51 -36
  15. data/app/assets/javascripts/archangel/object/flash.js +11 -8
  16. data/app/assets/javascripts/archangel/object/routes/backend.js +10 -10
  17. data/app/controllers/archangel/application_controller.rb +23 -13
  18. data/app/controllers/archangel/auth/invitations_controller.rb +22 -0
  19. data/app/controllers/archangel/auth/registrations_controller.rb +7 -3
  20. data/app/controllers/archangel/auth_controller.rb +8 -3
  21. data/app/controllers/archangel/backend/assets_controller.rb +9 -11
  22. data/app/controllers/archangel/backend/collections_controller.rb +3 -3
  23. data/app/controllers/archangel/backend/dashboards_controller.rb +1 -1
  24. data/app/controllers/archangel/backend/designs_controller.rb +43 -0
  25. data/app/controllers/archangel/backend/entries_controller.rb +25 -40
  26. data/app/controllers/archangel/backend/pages_controller.rb +7 -5
  27. data/app/controllers/archangel/backend/profiles_controller.rb +3 -2
  28. data/app/controllers/archangel/backend/sites_controller.rb +8 -14
  29. data/app/controllers/archangel/backend/users_controller.rb +6 -11
  30. data/app/controllers/archangel/backend/widgets_controller.rb +3 -3
  31. data/app/controllers/archangel/backend_controller.rb +6 -4
  32. data/app/controllers/archangel/frontend/homepages_controller.rb +33 -0
  33. data/app/controllers/archangel/frontend/pages_controller.rb +32 -43
  34. data/app/controllers/archangel/frontend_controller.rb +25 -1
  35. data/app/controllers/concerns/archangel/controllers/authenticatable_concern.rb +19 -0
  36. data/app/controllers/concerns/archangel/controllers/authorizable_concern.rb +19 -0
  37. data/app/controllers/concerns/archangel/controllers/metatagable_concern.rb +45 -0
  38. data/app/controllers/concerns/archangel/controllers/paginatable_concern.rb +43 -0
  39. data/app/controllers/concerns/archangel/controllers/resourceful_concern.rb +63 -26
  40. data/app/controllers/concerns/archangel/controllers/skip_authorizable_concern.rb +19 -0
  41. data/app/controllers/concerns/archangel/controllers/themable_concern.rb +34 -0
  42. data/app/controllers/concerns/archangel/helpers/actionable_concern.rb +76 -0
  43. data/app/helpers/archangel/application_helper.rb +35 -1
  44. data/app/helpers/archangel/backend/metatags_helper.rb +52 -0
  45. data/app/models/archangel/asset.rb +1 -1
  46. data/app/models/archangel/collection.rb +4 -7
  47. data/app/models/archangel/{template.rb → design.rb} +5 -13
  48. data/app/models/archangel/entry.rb +8 -28
  49. data/app/models/archangel/field.rb +1 -1
  50. data/app/models/archangel/page.rb +12 -48
  51. data/app/models/archangel/site.rb +17 -11
  52. data/app/models/archangel/user.rb +14 -7
  53. data/app/models/archangel/widget.rb +4 -4
  54. data/app/models/concerns/archangel/models/entry_validatable_concern.rb +74 -0
  55. data/app/models/concerns/archangel/models/metatagable_concern.rb +22 -0
  56. data/app/models/concerns/archangel/models/publishable_concern.rb +57 -0
  57. data/app/{helpers/archangel/auth_helper.rb → policies/archangel/design_policy.rb} +2 -2
  58. data/app/policies/archangel/site_policy.rb +0 -9
  59. data/app/services/archangel/{template_render_service.rb → design_render_service.rb} +3 -3
  60. data/app/services/archangel/render_service.rb +1 -1
  61. data/app/themes/default/assets/javascripts/default/auth.js +10 -13
  62. data/app/themes/default/assets/javascripts/default/backend.js +16 -37
  63. data/app/themes/default/assets/javascripts/default/backend/archangel.js +25 -0
  64. data/app/themes/default/assets/javascripts/default/backend/entries/sorting.js +37 -0
  65. data/app/themes/default/assets/javascripts/default/backend/misc/metatags.js +16 -0
  66. data/app/themes/default/assets/javascripts/default/common/flash.js +4 -43
  67. data/app/themes/default/assets/javascripts/default/frontend.js +11 -13
  68. data/app/themes/default/assets/stylesheets/default/_theme.scss +13 -0
  69. data/app/themes/default/assets/stylesheets/default/_variables.scss +113 -0
  70. data/app/themes/default/assets/stylesheets/default/auth.css +15 -13
  71. data/app/themes/default/assets/stylesheets/default/auth/_flash.scss +9 -0
  72. data/app/themes/default/assets/stylesheets/default/auth/default.scss +7 -0
  73. data/app/themes/default/assets/stylesheets/default/backend.css +10 -9
  74. data/app/themes/default/assets/stylesheets/default/backend/_entries.scss +25 -0
  75. data/app/themes/default/assets/stylesheets/default/backend/_flash.scss +19 -0
  76. data/app/themes/default/assets/stylesheets/default/backend/_footer.scss +15 -0
  77. data/app/themes/default/assets/stylesheets/default/backend/_global.scss +22 -0
  78. data/app/themes/default/assets/stylesheets/default/backend/_sidebar.scss +60 -0
  79. data/app/themes/default/assets/stylesheets/default/backend/_tables.scss +18 -0
  80. data/app/themes/default/assets/stylesheets/default/backend/_top.scss +25 -0
  81. data/app/themes/default/assets/stylesheets/default/backend/default.scss +16 -0
  82. data/app/themes/default/assets/stylesheets/default/common/_borders.scss +7 -0
  83. data/app/themes/default/assets/stylesheets/default/common/_cards.scss +15 -0
  84. data/app/themes/default/assets/stylesheets/default/common/_forms.scss +5 -0
  85. data/app/themes/default/assets/stylesheets/default/common/_global.scss +8 -0
  86. data/app/themes/default/assets/stylesheets/default/common/_mixins.scss +38 -0
  87. data/app/themes/default/assets/stylesheets/default/common/_navbar.scss +90 -0
  88. data/app/themes/default/assets/stylesheets/default/frontend.css +15 -13
  89. data/app/themes/default/assets/stylesheets/default/frontend/default.scss +5 -0
  90. data/app/themes/default/views/layouts/auth.html.erb +10 -8
  91. data/app/themes/default/views/layouts/backend.html.erb +16 -9
  92. data/app/themes/default/views/layouts/backend/_footer.html.erb +10 -6
  93. data/app/themes/default/views/layouts/backend/_header.html.erb +28 -24
  94. data/app/themes/default/views/layouts/backend/_sidebar.html.erb +65 -45
  95. data/app/themes/default/views/layouts/frontend.html.erb +20 -0
  96. data/app/views/archangel/backend/assets/_asset.html.erb +14 -7
  97. data/app/views/archangel/backend/assets/_buttons.html.erb +7 -5
  98. data/app/views/archangel/backend/assets/_form.html.erb +1 -1
  99. data/app/views/archangel/backend/assets/edit.html.erb +8 -14
  100. data/app/views/archangel/backend/assets/index.html.erb +36 -44
  101. data/app/views/archangel/backend/assets/new.html.erb +8 -14
  102. data/app/views/archangel/backend/assets/show.html.erb +33 -39
  103. data/app/views/archangel/backend/collections/_buttons.html.erb +8 -6
  104. data/app/views/archangel/backend/collections/_collection.html.erb +5 -4
  105. data/app/views/archangel/backend/collections/_form.html.erb +1 -1
  106. data/app/views/archangel/backend/collections/edit.html.erb +8 -14
  107. data/app/views/archangel/backend/collections/index.html.erb +34 -42
  108. data/app/views/archangel/backend/collections/new.html.erb +8 -14
  109. data/app/views/archangel/backend/collections/show.html.erb +21 -27
  110. data/app/views/archangel/backend/dashboards/show.html.erb +7 -17
  111. data/app/views/archangel/backend/designs/_buttons.html.erb +20 -0
  112. data/app/views/archangel/backend/designs/_design.html.erb +11 -0
  113. data/app/views/archangel/backend/{templates → designs}/_form.html.erb +2 -2
  114. data/app/views/archangel/backend/designs/edit.html.erb +15 -0
  115. data/app/views/archangel/backend/designs/index.html.erb +43 -0
  116. data/app/views/archangel/backend/designs/new.html.erb +15 -0
  117. data/app/views/archangel/backend/designs/show.html.erb +23 -0
  118. data/app/views/archangel/backend/entries/_buttons.html.erb +8 -6
  119. data/app/views/archangel/backend/entries/_entry.html.erb +17 -9
  120. data/app/views/archangel/backend/entries/_form.html.erb +6 -11
  121. data/app/views/archangel/backend/entries/edit.html.erb +8 -14
  122. data/app/views/archangel/backend/entries/index.html.erb +39 -47
  123. data/app/views/archangel/backend/entries/new.html.erb +8 -14
  124. data/app/views/archangel/backend/entries/show.html.erb +14 -20
  125. data/app/views/archangel/backend/pages/_buttons.html.erb +7 -5
  126. data/app/views/archangel/backend/pages/_form.html.erb +4 -3
  127. data/app/views/archangel/backend/pages/_metatag_fields.html.erb +3 -3
  128. data/app/views/archangel/backend/pages/_page.html.erb +13 -8
  129. data/app/views/archangel/backend/pages/edit.html.erb +8 -14
  130. data/app/views/archangel/backend/pages/index.html.erb +35 -43
  131. data/app/views/archangel/backend/pages/new.html.erb +8 -14
  132. data/app/views/archangel/backend/pages/show.html.erb +15 -31
  133. data/app/views/archangel/backend/profiles/_buttons.html.erb +7 -2
  134. data/app/views/archangel/backend/profiles/_form.html.erb +4 -2
  135. data/app/views/archangel/backend/profiles/edit.html.erb +8 -14
  136. data/app/views/archangel/backend/profiles/show.html.erb +20 -26
  137. data/app/views/archangel/backend/sites/_buttons.html.erb +2 -2
  138. data/app/views/archangel/backend/sites/_form.html.erb +10 -2
  139. data/app/views/archangel/backend/sites/_metatag_fields.html.erb +3 -3
  140. data/app/views/archangel/backend/sites/edit.html.erb +8 -14
  141. data/app/views/archangel/backend/sites/show.html.erb +22 -28
  142. data/app/views/archangel/backend/users/_buttons.html.erb +7 -5
  143. data/app/views/archangel/backend/users/_form.html.erb +1 -1
  144. data/app/views/archangel/backend/users/_user.html.erb +10 -6
  145. data/app/views/archangel/backend/users/edit.html.erb +8 -14
  146. data/app/views/archangel/backend/users/index.html.erb +35 -43
  147. data/app/views/archangel/backend/users/new.html.erb +8 -14
  148. data/app/views/archangel/backend/users/show.html.erb +16 -27
  149. data/app/views/archangel/backend/widgets/_buttons.html.erb +7 -5
  150. data/app/views/archangel/backend/widgets/_form.html.erb +2 -2
  151. data/app/views/archangel/backend/widgets/_widget.html.erb +5 -4
  152. data/app/views/archangel/backend/widgets/edit.html.erb +8 -14
  153. data/app/views/archangel/backend/widgets/index.html.erb +34 -42
  154. data/app/views/archangel/backend/widgets/new.html.erb +8 -14
  155. data/app/views/archangel/backend/widgets/show.html.erb +20 -31
  156. data/app/views/archangel/frontend/pages/show.json.jbuilder +4 -3
  157. data/app/views/archangel/shared/_flash_messages.html.erb +5 -2
  158. data/app/views/devise/confirmations/new.html.erb +10 -8
  159. data/app/views/devise/invitations/edit.html.erb +17 -0
  160. data/app/views/devise/invitations/new.html.erb +15 -0
  161. data/app/views/devise/mailer/invitation_instructions.html.erb +11 -0
  162. data/app/views/devise/mailer/invitation_instructions.text.erb +11 -0
  163. data/app/views/devise/passwords/edit.html.erb +14 -18
  164. data/app/views/devise/passwords/new.html.erb +8 -8
  165. data/app/views/devise/registrations/edit.html.erb +18 -28
  166. data/app/views/devise/registrations/new.html.erb +19 -31
  167. data/app/views/devise/sessions/new.html.erb +11 -19
  168. data/app/views/devise/shared/_error_messages.html.erb +15 -0
  169. data/app/views/devise/shared/_links.html.erb +19 -35
  170. data/app/views/devise/unlocks/new.html.erb +9 -8
  171. data/archangel.gemspec +12 -14
  172. data/config/initializers/devise.rb +1 -1
  173. data/config/initializers/simple_form.rb +18 -6
  174. data/config/initializers/simple_form_bootstrap.rb +520 -88
  175. data/config/locales/active_record.en.yml +14 -10
  176. data/config/locales/en.yml +10 -43
  177. data/config/locales/simple_form.en.yml +8 -7
  178. data/config/routes.rb +27 -40
  179. data/db/migrate/20190408164034_rename_archangel_pages_path_to_permalink.rb +5 -0
  180. data/db/migrate/20190417194514_add_settings_to_archangel_sites.rb +5 -0
  181. data/db/migrate/20190418150532_rename_archangel_templates_to_archangel_designs.rb +5 -0
  182. data/db/migrate/20190418150533_rename_archangel_pages_template_id_to_design_id.rb +5 -0
  183. data/db/migrate/20190418150534_rename_archangel_widgets_template_id_to_design_id.rb +5 -0
  184. data/db/migrate/20190421165525_rename_archangel_entries_available_at_to_published_at.rb +5 -0
  185. data/db/seeds.rb +41 -46
  186. data/docs/Developers.md +9 -7
  187. data/docs/Extension/Controllers.md +1 -1
  188. data/docs/Extension/Uploaders.md +1 -1
  189. data/lib/archangel.rb +2 -11
  190. data/lib/archangel/commands/base_command.rb +4 -8
  191. data/lib/archangel/commands/extension_command.rb +14 -14
  192. data/lib/archangel/commands/templates/common/Gemfile +24 -0
  193. data/lib/archangel/commands/templates/{extension → common}/Rakefile +1 -1
  194. data/lib/archangel/commands/templates/{extension → common}/bin/rails.tt +0 -0
  195. data/lib/archangel/commands/templates/{extension → common}/lib/%extension_name%.rb.tt +0 -0
  196. data/lib/archangel/commands/templates/{extension → common}/lib/%extension_name%/engine.rb.tt +0 -0
  197. data/lib/archangel/commands/templates/{extension → common}/lib/%extension_name%/version.rb.tt +0 -0
  198. data/lib/archangel/commands/templates/common/spec/rails_helper.rb.tt +0 -4
  199. data/lib/archangel/commands/templates/extension/lib/generators/%extension_name%/install/install_generator.rb.tt +10 -10
  200. data/lib/archangel/commands/templates/theme/README.md +2 -2
  201. data/lib/archangel/commands/templates/theme/app/themes/%theme_base_name%/config/locales/en.yml.tt +1 -1
  202. data/lib/archangel/commands/templates/theme/app/themes/%theme_base_name%/views/layouts/frontend.html.erb +20 -0
  203. data/lib/archangel/commands/templates/theme/theme.gemspec.tt +3 -3
  204. data/lib/archangel/commands/theme_command.rb +30 -27
  205. data/lib/archangel/config.rb +1 -2
  206. data/lib/archangel/constants/theme.rb +1 -1
  207. data/lib/archangel/engine.rb +3 -1
  208. data/lib/archangel/i18n.rb +5 -1
  209. data/lib/archangel/liquid/drop.rb +3 -45
  210. data/lib/archangel/liquid/drops/page_drop.rb +4 -4
  211. data/lib/archangel/liquid/drops/site_drop.rb +1 -0
  212. data/lib/archangel/liquid/tags/asset_tag.rb +4 -5
  213. data/lib/archangel/liquid/tags/collection_tag.rb +3 -5
  214. data/lib/archangel/liquid/tags/collectionfor_tag.rb +3 -4
  215. data/lib/archangel/liquid/tags/gist_tag.rb +3 -3
  216. data/lib/archangel/liquid/tags/noembed_tag.rb +1 -1
  217. data/lib/archangel/liquid/tags/vimeo_tag.rb +15 -9
  218. data/lib/archangel/liquid/tags/widget_tag.rb +9 -12
  219. data/lib/archangel/liquid/tags/youtube_tag.rb +44 -30
  220. data/lib/archangel/testing_support/factories/{archangel_templates.rb → archangel_designs.rb} +4 -4
  221. data/lib/archangel/testing_support/factories/archangel_entries.rb +5 -5
  222. data/lib/archangel/testing_support/factories/archangel_pages.rb +3 -3
  223. data/lib/archangel/testing_support/factories/archangel_users.rb +6 -0
  224. data/lib/archangel/testing_support/factories/archangel_widgets.rb +3 -3
  225. data/lib/archangel/testing_support/helpers/authorization_helpers.rb +5 -29
  226. data/lib/archangel/testing_support/helpers/fill_in_auth_form_helpers.rb +34 -0
  227. data/lib/archangel/testing_support/helpers/fill_in_form_helpers.rb +21 -0
  228. data/lib/archangel/testing_support/support/capybara.rb +0 -3
  229. data/lib/archangel/testing_support/support/shoulda.rb +0 -1
  230. data/lib/archangel/version.rb +5 -1
  231. data/lib/generators/archangel/install/install_generator.rb +15 -33
  232. data/lib/generators/archangel/install/templates/config/archangel.yml +0 -5
  233. data/lib/templates/erb/scaffold/_form.html.erb +2 -2
  234. data/package.json +5 -12
  235. data/spec/features/auth/invitation_spec.rb +86 -0
  236. data/spec/features/auth/log_in/attempts_spec.rb +50 -0
  237. data/spec/features/auth/log_in/locked_spec.rb +29 -0
  238. data/spec/features/auth/log_in/log_in_spec.rb +51 -0
  239. data/spec/features/auth/log_in/unconfirmed_spec.rb +22 -0
  240. data/spec/features/auth/log_out_spec.rb +11 -4
  241. data/spec/features/auth/password_reset_spec.rb +28 -0
  242. data/spec/features/auth/registration_spec.rb +28 -16
  243. data/spec/features/backend/assets/create_spec.rb +68 -0
  244. data/spec/features/backend/assets/delete_spec.rb +32 -0
  245. data/spec/features/backend/assets/listing_spec.rb +83 -0
  246. data/spec/features/backend/assets/show_spec.rb +57 -0
  247. data/spec/features/backend/collections/create_spec.rb +97 -0
  248. data/spec/features/backend/collections/delete_spec.rb +32 -0
  249. data/spec/features/backend/collections/listing_spec.rb +93 -0
  250. data/spec/features/backend/collections/show_spec.rb +43 -0
  251. data/spec/features/backend/dashboard/show_spec.rb +17 -0
  252. data/spec/features/backend/designs/create_spec.rb +76 -0
  253. data/spec/features/backend/designs/delete_spec.rb +32 -0
  254. data/spec/features/backend/designs/listing_spec.rb +77 -0
  255. data/spec/features/backend/designs/show_spec.rb +48 -0
  256. data/spec/features/backend/entries/create_spec.rb +98 -0
  257. data/spec/features/backend/entries/delete_spec.rb +35 -0
  258. data/spec/features/backend/entries/listing_sorting_spec.rb +32 -0
  259. data/spec/features/backend/entries/listing_spec.rb +100 -0
  260. data/spec/features/backend/entries/show_spec.rb +62 -0
  261. data/spec/features/backend/pages/create_metatags_spec.rb +59 -0
  262. data/spec/features/backend/pages/create_spec.rb +143 -0
  263. data/spec/features/backend/pages/delete_spec.rb +32 -0
  264. data/spec/features/backend/pages/liquid_tags_spec.rb +159 -0
  265. data/spec/features/backend/pages/listing_spec.rb +75 -0
  266. data/spec/features/backend/pages/show_spec.rb +47 -0
  267. data/spec/features/backend/profile/delete_spec.rb +41 -0
  268. data/spec/features/backend/profile/show_spec.rb +46 -0
  269. data/spec/features/backend/profile/update_spec.rb +144 -0
  270. data/spec/features/backend/site/show_spec.rb +46 -0
  271. data/spec/features/backend/site/update_spec.rb +46 -0
  272. data/spec/features/backend/site/update_with_metatags_spec.rb +45 -0
  273. data/spec/features/backend/users/create_spec.rb +90 -0
  274. data/spec/features/backend/users/delete_spec.rb +32 -0
  275. data/spec/features/backend/users/listing_spec.rb +69 -0
  276. data/spec/features/backend/users/show_spec.rb +87 -0
  277. data/spec/features/backend/users/update_spec.rb +49 -0
  278. data/spec/features/backend/widgets/create_spec.rb +111 -0
  279. data/spec/features/backend/widgets/delete_spec.rb +42 -0
  280. data/spec/features/backend/widgets/listing_spec.rb +89 -0
  281. data/spec/features/backend/widgets/show_spec.rb +47 -0
  282. data/spec/features/frontend/liquid/filters/link_to_spec.rb +49 -0
  283. data/spec/features/frontend/liquid/tags/asset_spec.rb +81 -0
  284. data/spec/features/frontend/liquid/tags/collection_tag_spec.rb +94 -0
  285. data/spec/features/frontend/liquid/tags/collectionfor_tag_spec.rb +159 -0
  286. data/spec/features/frontend/liquid/tags/gist_spec.rb +57 -0
  287. data/spec/features/frontend/liquid/tags/noembed_tag_spec.rb +106 -0
  288. data/spec/features/frontend/liquid/tags/vimeo_spec.rb +79 -0
  289. data/spec/features/frontend/liquid/tags/widget_spec.rb +40 -0
  290. data/spec/features/frontend/liquid/tags/youtube_spec.rb +89 -0
  291. data/spec/features/frontend/liquid/variables/current_page_spec.rb +74 -0
  292. data/spec/features/frontend/liquid/variables/page_spec.rb +58 -0
  293. data/spec/features/frontend/liquid/variables/site_spec.rb +46 -0
  294. data/spec/features/frontend/liquid/variables/unknown_spec.rb +19 -0
  295. data/spec/features/frontend/metatags/default_spec.rb +46 -0
  296. data/spec/features/frontend/metatags/page_spec.rb +58 -0
  297. data/spec/features/frontend/metatags/site_spec.rb +42 -0
  298. data/spec/fixtures/schemas/backend/assets/wysiwyg_error.json +11 -0
  299. data/spec/fixtures/schemas/backend/assets/wysiwyg_url.json +11 -0
  300. data/spec/fixtures/schemas/frontend/errors/not_found.json +11 -0
  301. data/spec/fixtures/schemas/frontend/pages/show.json +25 -0
  302. data/spec/requests/backend/assets_spec.rb +81 -0
  303. data/spec/requests/backend/designs_spec.rb +115 -0
  304. data/spec/requests/backend/entries_spec.rb +32 -0
  305. data/spec/requests/backend/pages_spec.rb +113 -0
  306. data/spec/requests/backend/site_spec.rb +65 -0
  307. data/spec/requests/backend/widgets_spec.rb +109 -0
  308. data/spec/requests/frontend/html/homepage_spec.rb +70 -0
  309. data/spec/requests/frontend/html/nested_page_spec.rb +97 -0
  310. data/spec/requests/frontend/html/page_spec.rb +78 -0
  311. data/spec/requests/frontend/json/homepage_spec.rb +80 -0
  312. data/spec/requests/frontend/json/nested_page_spec.rb +111 -0
  313. data/spec/requests/frontend/json/page_spec.rb +92 -0
  314. data/spec/support/helpers/ajax_helpers.rb +27 -0
  315. data/spec/support/helpers/json_response.rb +18 -0
  316. data/{lib/archangel/testing_support → spec/support}/matchers/have_meta.rb +0 -0
  317. data/{lib/archangel/testing_support → spec/support}/matchers/have_title.rb +0 -0
  318. data/spec/support/matchers/match_response_schema.rb +12 -0
  319. data/spec/support/missing_translation.rb +13 -0
  320. data/spec/support/selenium.rb +26 -0
  321. data/spec/support/timecop.rb +15 -0
  322. data/spec/unit/helpers/archangel/application_helper_spec.rb +65 -0
  323. data/spec/unit/helpers/archangel/flash_helper_spec.rb +41 -0
  324. data/spec/{inputs → unit/inputs}/archangel/date_picker_input_spec.rb +0 -0
  325. data/spec/{inputs → unit/inputs}/archangel/date_time_picker_input_spec.rb +0 -0
  326. data/spec/{inputs → unit/inputs}/archangel/field_classification_input_spec.rb +0 -0
  327. data/spec/{inputs → unit/inputs}/archangel/language_input_spec.rb +0 -0
  328. data/spec/{inputs → unit/inputs}/archangel/meta_keywords_input_spec.rb +0 -0
  329. data/spec/{inputs → unit/inputs}/archangel/role_input_spec.rb +0 -0
  330. data/spec/{inputs → unit/inputs}/archangel/theme_input_spec.rb +0 -0
  331. data/spec/{inputs → unit/inputs}/archangel/time_picker_input_spec.rb +0 -0
  332. data/spec/{inputs → unit/inputs}/archangel/wysiwyg_input_spec.rb +0 -0
  333. data/spec/{jobs → unit/jobs}/archangel/application_job_spec.rb +0 -0
  334. data/spec/{lib → unit/lib}/archangel/commands/extension_command_spec.rb +11 -6
  335. data/spec/{lib → unit/lib}/archangel/commands/theme_command_spec.rb +11 -6
  336. data/spec/{lib → unit/lib}/tasks/archangel/version_task_spec.rb +0 -0
  337. data/spec/{mailers → unit/mailers}/archangel/application_mailer_spec.rb +0 -0
  338. data/spec/{models → unit/models}/archangel/asset_spec.rb +7 -15
  339. data/spec/{models → unit/models}/archangel/collection_spec.rb +3 -16
  340. data/spec/unit/models/archangel/design_spec.rb +22 -0
  341. data/spec/unit/models/archangel/entry_spec.rb +104 -0
  342. data/spec/{models → unit/models}/archangel/field_spec.rb +5 -7
  343. data/spec/{models → unit/models}/archangel/metatag_spec.rb +1 -5
  344. data/spec/{models → unit/models}/archangel/page_spec.rb +46 -44
  345. data/spec/{models → unit/models}/archangel/site_spec.rb +15 -8
  346. data/spec/{models → unit/models}/archangel/user_spec.rb +29 -39
  347. data/spec/{models → unit/models}/archangel/widget_spec.rb +5 -20
  348. data/spec/{policies → unit/policies}/archangel/asset_policy_spec.rb +0 -0
  349. data/spec/{policies → unit/policies}/archangel/collection_policy_spec.rb +0 -0
  350. data/spec/{policies/archangel/template_policy_spec.rb → unit/policies/archangel/design_policy_spec.rb} +2 -2
  351. data/spec/{policies → unit/policies}/archangel/entries_policy_spec.rb +0 -0
  352. data/spec/{policies → unit/policies}/archangel/page_policy_spec.rb +0 -0
  353. data/spec/{policies → unit/policies}/archangel/site_policy_spec.rb +2 -6
  354. data/spec/{policies → unit/policies}/archangel/user_policy_spec.rb +0 -0
  355. data/spec/{policies → unit/policies}/archangel/widget_policy_spec.rb +0 -0
  356. data/spec/unit/services/archangel/design_render_service_spec.rb +46 -0
  357. data/spec/unit/services/archangel/render_service_spec.rb +43 -0
  358. data/spec/{uploaders → unit/uploaders}/archangel/application_uploader_spec.rb +4 -2
  359. data/spec/{uploaders → unit/uploaders}/archangel/asset_uploader_spec.rb +5 -3
  360. data/vendor/assets/javascripts/flatpickr/flatpickr.js +2 -0
  361. data/vendor/assets/javascripts/jodit/jodit.js +9 -0
  362. data/vendor/assets/javascripts/select2/select2.js +5891 -0
  363. data/vendor/assets/javascripts/sortable/sortable.js +2 -2
  364. data/vendor/assets/stylesheets/flatpickr/flatpickr.css +13 -0
  365. data/vendor/assets/stylesheets/jodit/jodit.css +296 -0
  366. data/vendor/assets/stylesheets/select2/select2.css +480 -0
  367. metadata +227 -322
  368. data/.editorconfig +0 -19
  369. data/.hound.yml +0 -21
  370. data/.jshintignore +0 -5
  371. data/.jshintrc +0 -30
  372. data/.rubocop_todo.yml +0 -3
  373. data/.scss-lint.yml +0 -22
  374. data/app/assets/javascripts/archangel/object/translate/datetimepicker.js.erb +0 -41
  375. data/app/assets/javascripts/archangel/object/translate/sortable.js.erb +0 -10
  376. data/app/assets/javascripts/archangel/sortable.js +0 -72
  377. data/app/controllers/archangel/backend/templates_controller.rb +0 -43
  378. data/app/controllers/concerns/archangel/actionable_concern.rb +0 -161
  379. data/app/controllers/concerns/archangel/authenticatable_concern.rb +0 -14
  380. data/app/controllers/concerns/archangel/authorizable_concern.rb +0 -14
  381. data/app/controllers/concerns/archangel/controllers/backend/resourceful_concern.rb +0 -28
  382. data/app/controllers/concerns/archangel/paginatable_concern.rb +0 -36
  383. data/app/controllers/concerns/archangel/seoable_concern.rb +0 -40
  384. data/app/controllers/concerns/archangel/skip_authorizable_concern.rb +0 -14
  385. data/app/controllers/concerns/archangel/themable_concern.rb +0 -27
  386. data/app/helpers/archangel/backend/assets_helper.rb +0 -14
  387. data/app/helpers/archangel/backend/collections_helper.rb +0 -14
  388. data/app/helpers/archangel/backend/dashboards_helper.rb +0 -14
  389. data/app/helpers/archangel/backend/entries_helper.rb +0 -14
  390. data/app/helpers/archangel/backend/pages_helper.rb +0 -14
  391. data/app/helpers/archangel/backend/sites_helper.rb +0 -14
  392. data/app/helpers/archangel/backend/templates_helper.rb +0 -14
  393. data/app/helpers/archangel/backend/users_helper.rb +0 -14
  394. data/app/helpers/archangel/backend/widgets_helper.rb +0 -14
  395. data/app/helpers/archangel/backend_helper.rb +0 -9
  396. data/app/helpers/archangel/frontend/pages_helper.rb +0 -14
  397. data/app/helpers/archangel/frontend_helper.rb +0 -9
  398. data/app/policies/archangel/template_policy.rb +0 -9
  399. data/app/themes/default/assets/javascripts/default/backend/core.js +0 -76
  400. data/app/themes/default/assets/javascripts/default/backend/templates.js +0 -26
  401. data/app/themes/default/assets/javascripts/default/common/cards.js +0 -28
  402. data/app/themes/default/assets/stylesheets/default/auth/core.scss +0 -20
  403. data/app/themes/default/assets/stylesheets/default/backend/bootstrap/_tables.scss +0 -40
  404. data/app/themes/default/assets/stylesheets/default/backend/core.scss +0 -23
  405. data/app/themes/default/assets/stylesheets/default/common/_bootstrap.scss +0 -49
  406. data/app/themes/default/assets/stylesheets/default/common/_selectize.scss +0 -348
  407. data/app/themes/default/assets/stylesheets/default/common/_variables.scss +0 -82
  408. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_animate.scss +0 -27
  409. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_aside.scss +0 -67
  410. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_avatars.scss +0 -42
  411. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_badge.scss +0 -3
  412. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_breadcrumb-menu.scss +0 -36
  413. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_breadcrumb.scss +0 -4
  414. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_buttons.scss +0 -408
  415. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_callout.scss +0 -58
  416. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_card.scss +0 -199
  417. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_charts.scss +0 -9
  418. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_dropdown-menu-right.scss +0 -8
  419. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_dropdown.scss +0 -70
  420. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_footer.scss +0 -9
  421. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_forms.scss +0 -4
  422. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_grid.scss +0 -15
  423. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_input-group.scss +0 -5
  424. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_layout.scss +0 -390
  425. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_loading.scss +0 -128
  426. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_mixins.scss +0 -1
  427. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_mobile.scss +0 -0
  428. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_modal.scss +0 -12
  429. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_nav.scss +0 -39
  430. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_navbar.scss +0 -122
  431. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_others.scss +0 -4
  432. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_progress.scss +0 -15
  433. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_rtl.scss +0 -287
  434. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_sidebar.scss +0 -462
  435. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_switches.scss +0 -286
  436. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_tables.scss +0 -20
  437. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_temp.scss +0 -39
  438. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_typography.scss +0 -36
  439. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_utilities.scss +0 -3
  440. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_variables.scss +0 -208
  441. data/app/themes/default/assets/stylesheets/default/common/bootstrap/_widgets.scss +0 -251
  442. data/app/themes/default/assets/stylesheets/default/common/bootstrap/mixins/_all.scss +0 -117
  443. data/app/themes/default/assets/stylesheets/default/common/bootstrap/utilities/_background.scss +0 -20
  444. data/app/themes/default/assets/stylesheets/default/common/bootstrap/utilities/_borders.scss +0 -17
  445. data/app/themes/default/assets/stylesheets/default/common/bootstrap/utilities/_display.scss +0 -14
  446. data/app/themes/default/assets/stylesheets/default/frontend/core.scss +0 -20
  447. data/app/themes/default/views/layouts/frontend.liquid +0 -22
  448. data/app/views/archangel/backend/dashboards/_buttons.html.erb +0 -3
  449. data/app/views/archangel/backend/sites/_additional_colors.html.erb +0 -49
  450. data/app/views/archangel/backend/sites/_alerts.html.erb +0 -130
  451. data/app/views/archangel/backend/sites/_badge.html.erb +0 -99
  452. data/app/views/archangel/backend/sites/_button.html.erb +0 -243
  453. data/app/views/archangel/backend/sites/_buttons_group.html.erb +0 -230
  454. data/app/views/archangel/backend/sites/_cards.html.erb +0 -441
  455. data/app/views/archangel/backend/sites/_carousel.html.erb +0 -159
  456. data/app/views/archangel/backend/sites/_colors.html.erb +0 -41
  457. data/app/views/archangel/backend/sites/_display_headings.html.erb +0 -41
  458. data/app/views/archangel/backend/sites/_dl.html.erb +0 -38
  459. data/app/views/archangel/backend/sites/_dropdowns.html.erb +0 -475
  460. data/app/views/archangel/backend/sites/_forms.html.erb +0 -1176
  461. data/app/views/archangel/backend/sites/_grays.html.erb +0 -21
  462. data/app/views/archangel/backend/sites/_headings.html.erb +0 -21
  463. data/app/views/archangel/backend/sites/_inline_text.html.erb +0 -45
  464. data/app/views/archangel/backend/sites/_jumbotron.html.erb +0 -45
  465. data/app/views/archangel/backend/sites/_list_group.html.erb +0 -254
  466. data/app/views/archangel/backend/sites/_modals.html.erb +0 -41
  467. data/app/views/archangel/backend/sites/_navs.html.erb +0 -389
  468. data/app/views/archangel/backend/sites/_pagination.html.erb +0 -160
  469. data/app/views/archangel/backend/sites/_social_buttons.html.erb +0 -746
  470. data/app/views/archangel/backend/sites/_tables.html.erb +0 -372
  471. data/app/views/archangel/backend/sites/sample.html.erb +0 -38
  472. data/app/views/archangel/backend/templates/_buttons.html.erb +0 -18
  473. data/app/views/archangel/backend/templates/_template.html.erb +0 -10
  474. data/app/views/archangel/backend/templates/edit.html.erb +0 -21
  475. data/app/views/archangel/backend/templates/index.html.erb +0 -49
  476. data/app/views/archangel/backend/templates/new.html.erb +0 -21
  477. data/app/views/archangel/backend/templates/show.html.erb +0 -34
  478. data/config/initializers/liquid.rb +0 -4
  479. data/lib/archangel/commands/templates/common/.editorconfig +0 -19
  480. data/lib/archangel/commands/templates/common/.rubocop.yml +0 -32
  481. data/lib/archangel/commands/templates/extension/Gemfile +0 -27
  482. data/lib/archangel/commands/templates/extension/app/assets/javascripts/archangel/auth/%extension_name%.js.tt +0 -3
  483. data/lib/archangel/commands/templates/extension/app/assets/javascripts/archangel/backend/%extension_name%.js.tt +0 -3
  484. data/lib/archangel/commands/templates/extension/app/assets/javascripts/archangel/frontend/%extension_name%.js.tt +0 -3
  485. data/lib/archangel/commands/templates/extension/app/assets/stylesheets/archangel/auth/%extension_name%.css.tt +0 -5
  486. data/lib/archangel/commands/templates/extension/app/assets/stylesheets/archangel/backend/%extension_name%.css.tt +0 -5
  487. data/lib/archangel/commands/templates/extension/app/assets/stylesheets/archangel/frontend/%extension_name%.css.tt +0 -5
  488. data/lib/archangel/commands/templates/theme/Gemfile +0 -27
  489. data/lib/archangel/commands/templates/theme/Rakefile +0 -29
  490. data/lib/archangel/commands/templates/theme/app/themes/%theme_base_name%/assets/javascripts/%theme_base_name%/auth.js +0 -2
  491. data/lib/archangel/commands/templates/theme/app/themes/%theme_base_name%/assets/javascripts/%theme_base_name%/backend.js +0 -2
  492. data/lib/archangel/commands/templates/theme/app/themes/%theme_base_name%/assets/stylesheets/%theme_base_name%/auth.css +0 -4
  493. data/lib/archangel/commands/templates/theme/app/themes/%theme_base_name%/assets/stylesheets/%theme_base_name%/backend.css +0 -4
  494. data/lib/archangel/commands/templates/theme/app/themes/%theme_base_name%/views/layouts/frontend.liquid +0 -18
  495. data/lib/archangel/commands/templates/theme/bin/rails.tt +0 -11
  496. data/lib/archangel/commands/templates/theme/lib/%theme_name%.rb.tt +0 -9
  497. data/lib/archangel/commands/templates/theme/lib/%theme_name%/engine.rb.tt +0 -29
  498. data/lib/archangel/commands/templates/theme/lib/%theme_name%/version.rb.tt +0 -5
  499. data/lib/archangel/liquid/tags/csrf_meta_tags_tag.rb +0 -29
  500. data/lib/archangel/liquid/tags/locale_tag.rb +0 -28
  501. data/lib/archangel/liquid/tags/meta_tags_tag.rb +0 -31
  502. data/lib/archangel/liquid/tags/text_direction_tag.rb +0 -29
  503. data/lib/archangel/liquid/tags/theme_javascript_tag.rb +0 -31
  504. data/lib/archangel/liquid/tags/theme_stylesheet_tag.rb +0 -31
  505. data/lib/archangel/liquid_view.rb +0 -68
  506. data/lib/archangel/testing_support/context/view_controller_context.rb +0 -55
  507. data/lib/archangel/testing_support/helpers/controller_helpers.rb +0 -20
  508. data/lib/archangel/testing_support/helpers/form_helpers.rb +0 -18
  509. data/lib/archangel/testing_support/helpers/routing_helpers.rb +0 -22
  510. data/lib/archangel/testing_support/support/controller.rb +0 -11
  511. data/lib/archangel/testing_support/support/liquid_filters.rb +0 -23
  512. data/lib/archangel/testing_support/support/liquid_tags.rb +0 -23
  513. data/lib/archangel/testing_support/support/verify_partial_doubles.rb +0 -21
  514. data/spec/controllers/archangel/application_controller_spec.rb +0 -183
  515. data/spec/controllers/archangel/auth/registrations_controller_spec.rb +0 -10
  516. data/spec/controllers/archangel/auth_controller_spec.rb +0 -8
  517. data/spec/controllers/archangel/backend/assets_controller_spec.rb +0 -226
  518. data/spec/controllers/archangel/backend/collections_controller_spec.rb +0 -252
  519. data/spec/controllers/archangel/backend/dashboards_controller_spec.rb +0 -27
  520. data/spec/controllers/archangel/backend/entries_controller_spec.rb +0 -273
  521. data/spec/controllers/archangel/backend/pages_controller_spec.rb +0 -220
  522. data/spec/controllers/archangel/backend/profiles_controller_spec.rb +0 -115
  523. data/spec/controllers/archangel/backend/sites_controller_spec.rb +0 -121
  524. data/spec/controllers/archangel/backend/templates_controller_spec.rb +0 -190
  525. data/spec/controllers/archangel/backend/users_controller_spec.rb +0 -181
  526. data/spec/controllers/archangel/backend/widgets_controller_spec.rb +0 -190
  527. data/spec/controllers/archangel/backend_controller_spec.rb +0 -8
  528. data/spec/controllers/archangel/frontend/pages_controller_spec.rb +0 -51
  529. data/spec/controllers/archangel/frontend_controller_spec.rb +0 -8
  530. data/spec/controllers/concerns/archangel/controllers/backend/resourceful_concern_spec.rb +0 -90
  531. data/spec/features/auth/log_in_spec.rb +0 -126
  532. data/spec/features/backend/pages/duplicate_slugs_spec.rb +0 -41
  533. data/spec/features/frontend/liquid_drop_variables_spec.rb +0 -133
  534. data/spec/features/frontend/pages/homepage_redirect_spec.rb +0 -15
  535. data/spec/features/frontend/pages/metatags_spec.rb +0 -73
  536. data/spec/helpers/archangel/application_helper_spec.rb +0 -30
  537. data/spec/helpers/archangel/auth_helper_spec.rb +0 -8
  538. data/spec/helpers/archangel/backend/assets_helper_spec.rb +0 -10
  539. data/spec/helpers/archangel/backend/collections_helper_spec.rb +0 -10
  540. data/spec/helpers/archangel/backend/dashboards_helper_spec.rb +0 -10
  541. data/spec/helpers/archangel/backend/entries_helper_spec.rb +0 -10
  542. data/spec/helpers/archangel/backend/pages_helper_spec.rb +0 -10
  543. data/spec/helpers/archangel/backend/sites_helper_spec.rb +0 -10
  544. data/spec/helpers/archangel/backend/templates_helper_spec.rb +0 -10
  545. data/spec/helpers/archangel/backend/users_helper_spec.rb +0 -10
  546. data/spec/helpers/archangel/backend/widgets_helper_spec.rb +0 -10
  547. data/spec/helpers/archangel/backend_helper_spec.rb +0 -8
  548. data/spec/helpers/archangel/flash_helper_spec.rb +0 -47
  549. data/spec/helpers/archangel/frontend/pages_helper_spec.rb +0 -10
  550. data/spec/helpers/archangel/frontend_helper_spec.rb +0 -8
  551. data/spec/lib/archangel/liquid/drop_spec.rb +0 -10
  552. data/spec/lib/archangel/liquid/drops/page_drop_spec.rb +0 -69
  553. data/spec/lib/archangel/liquid/drops/site_drop_spec.rb +0 -63
  554. data/spec/lib/archangel/liquid/filters/link_to_filter_spec.rb +0 -59
  555. data/spec/lib/archangel/liquid/tags/application_tag_spec.rb +0 -12
  556. data/spec/lib/archangel/liquid/tags/asset_tag_spec.rb +0 -91
  557. data/spec/lib/archangel/liquid/tags/collection_tag_spec.rb +0 -104
  558. data/spec/lib/archangel/liquid/tags/collectionfor_tag_spec.rb +0 -163
  559. data/spec/lib/archangel/liquid/tags/csrf_meta_tags_tag_spec.rb +0 -33
  560. data/spec/lib/archangel/liquid/tags/gist_tag_spec.rb +0 -42
  561. data/spec/lib/archangel/liquid/tags/locale_tag_spec.rb +0 -22
  562. data/spec/lib/archangel/liquid/tags/meta_tags_tag_spec.rb +0 -24
  563. data/spec/lib/archangel/liquid/tags/noembed_tag_spec.rb +0 -76
  564. data/spec/lib/archangel/liquid/tags/text_direction_tag_spec.rb +0 -32
  565. data/spec/lib/archangel/liquid/tags/theme_javascript_tag_spec.rb +0 -26
  566. data/spec/lib/archangel/liquid/tags/theme_stylesheet_tag_spec.rb +0 -28
  567. data/spec/lib/archangel/liquid/tags/vimeo_tag_spec.rb +0 -39
  568. data/spec/lib/archangel/liquid/tags/widget_tag_spec.rb +0 -59
  569. data/spec/lib/archangel/liquid/tags/youtube_tag_spec.rb +0 -39
  570. data/spec/models/archangel/entry_spec.rb +0 -62
  571. data/spec/models/archangel/template_spec.rb +0 -45
  572. data/spec/policies/archangel/application_policy_spec.rb +0 -8
  573. data/spec/services/archangel/render_service_spec.rb +0 -37
  574. data/spec/services/archangel/template_render_service_spec.rb +0 -42
  575. data/spec/support/.keep +0 -0
  576. data/spec/uploaders/archangel/avatar_uploader_spec.rb +0 -50
  577. data/spec/uploaders/archangel/logo_uploader_spec.rb +0 -50
  578. data/vendor/assets/icons/trumbowyg/icons.svg +0 -1
  579. data/vendor/assets/javascripts/daterangepicker/daterangepicker.js +0 -1529
  580. data/vendor/assets/javascripts/trumbowyg/plugins/allowtagsfrompaste/trumbowyg.allowtagsfrompaste.js +0 -143
  581. data/vendor/assets/javascripts/trumbowyg/plugins/base64/trumbowyg.base64.js +0 -129
  582. data/vendor/assets/javascripts/trumbowyg/plugins/cleanpaste/trumbowyg.cleanpaste.js +0 -110
  583. data/vendor/assets/javascripts/trumbowyg/plugins/colors/trumbowyg.colors.js +0 -183
  584. data/vendor/assets/javascripts/trumbowyg/plugins/noembed/trumbowyg.noembed.js +0 -104
  585. data/vendor/assets/javascripts/trumbowyg/plugins/upload/trumbowyg.upload.js +0 -261
  586. data/vendor/assets/javascripts/trumbowyg/trumbowyg.js +0 -1765
  587. data/vendor/assets/stylesheets/daterangepicker/_daterangepicker.scss +0 -405
  588. data/vendor/assets/stylesheets/trumbowyg/_trumbowyg.scss +0 -831
  589. data/vendor/assets/stylesheets/trumbowyg/plugins/colors/_trumbowyg.colors.scss +0 -38
@@ -1,21 +0,0 @@
1
- <div class="card">
2
- <div class="card-header">
3
- <%= fa_icon("tint") %> Grays
4
- </div>
5
-
6
- <div class="card-body">
7
- <div class="row mb-3">
8
- <div class="col-md-4">
9
- <div class="p-3 bg-gray-100">100</div>
10
- <div class="p-3 bg-gray-200">200</div>
11
- <div class="p-3 bg-gray-300">300</div>
12
- <div class="p-3 bg-gray-400">400</div>
13
- <div class="p-3 bg-gray-500">500</div>
14
- <div class="p-3 bg-gray-600">600</div>
15
- <div class="p-3 bg-gray-700">700</div>
16
- <div class="p-3 bg-gray-800">800</div>
17
- <div class="p-3 bg-gray-900">900</div>
18
- </div>
19
- </div>
20
- </div>
21
- </div>
@@ -1,21 +0,0 @@
1
- <div class="card">
2
- <div class="card-header">
3
- <%= fa_icon("tint") %> Headings
4
- </div>
5
-
6
- <div class="card-body">
7
- <p>
8
- <code class="highlighter-rouge">.h1</code> through
9
- <code class="highlighter-rouge">.h6</code> classes are also available, for when you want to match the font styling of a heading but cannot use the associated HTML element.
10
- </p>
11
-
12
- <div class="bd-example">
13
- <p class="h1">h1. Bootstrap heading</p>
14
- <p class="h2">h2. Bootstrap heading</p>
15
- <p class="h3">h3. Bootstrap heading</p>
16
- <p class="h4">h4. Bootstrap heading</p>
17
- <p class="h5">h5. Bootstrap heading</p>
18
- <p class="h6">h6. Bootstrap heading</p>
19
- </div>
20
- </div>
21
- </div>
@@ -1,45 +0,0 @@
1
- <div class="card">
2
- <div class="card-header">
3
- <%= fa_icon("tint") %> Inline text elements
4
- </div>
5
-
6
- <div class="card-body">
7
- <p>
8
- Traditional heading elements are designed to work best in the meat of your page content. When you need a heading to stand out, consider using a <strong>display heading</strong>—a larger, slightly more opinionated heading style.
9
- </p>
10
-
11
- <div class="bd-example">
12
- <p>
13
- You can use the mark tag to <mark>highlight</mark> text.
14
- </p>
15
-
16
- <p>
17
- <del>This line of text is meant to be treated as deleted text.</del>
18
- </p>
19
-
20
- <p>
21
- <s>This line of text is meant to be treated as no longer accurate.</s>
22
- </p>
23
-
24
- <p>
25
- <ins>This line of text is meant to be treated as an addition to the document.</ins>
26
- </p>
27
-
28
- <p>
29
- <u>This line of text will render as underlined</u>
30
- </p>
31
-
32
- <p>
33
- <small>This line of text is meant to be treated as fine print.</small>
34
- </p>
35
-
36
- <p>
37
- <strong>This line rendered as bold text.</strong>
38
- </p>
39
-
40
- <p>
41
- <em>This line rendered as italicized text.</em>
42
- </p>
43
- </div>
44
- </div>
45
- </div>
@@ -1,45 +0,0 @@
1
- <div class="row">
2
- <div class="col-sm-12 col-xl-6">
3
- <div class="card">
4
- <div class="card-header">
5
- <%= fa_icon("tint") %> Jumbotron
6
- </div>
7
-
8
- <div class="card-body">
9
- <div class="jumbotron">
10
- <h1 class="display-3">Hello, world!</h1>
11
-
12
- <p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
13
-
14
- <hr class="my-4">
15
-
16
- <p>It uses utility classes for typography and spacing to space content out within the larger container.</p>
17
-
18
- <p class="lead">
19
- <a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a>
20
- </p>
21
- </div>
22
- </div>
23
- </div>
24
- </div>
25
-
26
- <div class="col-sm-12 col-xl-6">
27
- <div class="card">
28
- <div class="card-header">
29
- <%= fa_icon("tint") %> Jumbotron
30
-
31
- <small>fluid</small>
32
- </div>
33
-
34
- <div class="card-body">
35
- <div class="jumbotron jumbotron-fluid">
36
- <div class="container">
37
- <h1 class="display-3">Fluid jumbotron</h1>
38
-
39
- <p class="lead">This is a modified jumbotron that occupies the entire horizontal space of its parent.</p>
40
- </div>
41
- </div>
42
- </div>
43
- </div>
44
- </div>
45
- </div>
@@ -1,254 +0,0 @@
1
- <div class="row">
2
- <div class="col-sm-12 col-xl-6">
3
- <div class="card">
4
- <div class="card-header">
5
- <%= fa_icon("tint") %> List group
6
- </div>
7
-
8
- <div class="card-body">
9
- <ul class="list-group">
10
- <li class="list-group-item">Cras justo odio</li>
11
- <li class="list-group-item">Dapibus ac facilisis in</li>
12
- <li class="list-group-item">Morbi leo risus</li>
13
- <li class="list-group-item">Porta ac consectetur ac</li>
14
- <li class="list-group-item">Vestibulum at eros</li>
15
- </ul>
16
- </div>
17
- </div>
18
- </div>
19
-
20
- <div class="col-sm-12 col-xl-6">
21
- <div class="card">
22
- <div class="card-header">
23
- <%= fa_icon("tint") %> List group
24
-
25
- <small>active items</small>
26
- </div>
27
-
28
- <div class="card-body">
29
- <ul class="list-group">
30
- <li class="list-group-item active">Cras justo odio</li>
31
- <li class="list-group-item">Dapibus ac facilisis in</li>
32
- <li class="list-group-item">Morbi leo risus</li>
33
- <li class="list-group-item">Porta ac consectetur ac</li>
34
- <li class="list-group-item">Vestibulum at eros</li>
35
- </ul>
36
- </div>
37
- </div>
38
- </div>
39
- </div>
40
-
41
- <div class="row">
42
- <div class="col-sm-12 col-xl-6">
43
- <div class="card">
44
- <div class="card-header">
45
- <%= fa_icon("tint") %> List group
46
-
47
- <small>links with disabled items</small>
48
- </div>
49
-
50
- <div class="card-body">
51
- <div class="list-group">
52
- <a href="#" class="list-group-item active">Cras justo odio</a>
53
- <a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a>
54
- <a href="#" class="list-group-item list-group-item-action">Morbi leo risus</a>
55
- <a href="#" class="list-group-item list-group-item-action">Porta ac consectetur ac</a>
56
- <a href="#" class="list-group-item list-group-item-action disabled">Vestibulum at eros</a>
57
- </div>
58
- </div>
59
- </div>
60
- </div>
61
-
62
- <div class="col-sm-12 col-xl-6">
63
- <div class="card">
64
- <div class="card-header">
65
- <%= fa_icon("tint") %> List group
66
-
67
- <small>buttons with disabled items</small>
68
- </div>
69
-
70
- <div class="card-body">
71
- <div class="list-group">
72
- <button type="button" class="list-group-item list-group-item-action active">Cras justo odio</button>
73
- <button type="button" class="list-group-item list-group-item-action">Dapibus ac facilisis in</button>
74
- <button type="button" class="list-group-item list-group-item-action">Morbi leo risus</button>
75
- <button type="button" class="list-group-item list-group-item-action">Porta ac consectetur ac</button>
76
- <button type="button" class="list-group-item list-group-item-action" disabled="">Vestibulum at eros</button>
77
- </div>
78
- </div>
79
- </div>
80
- </div>
81
- </div>
82
-
83
- <div class="row">
84
- <div class="col-sm-12 col-xl-6">
85
- <div class="card">
86
- <div class="card-header">
87
- <%= fa_icon("tint") %> List group
88
-
89
- <small>contextual classes</small>
90
- </div>
91
-
92
- <div class="card-body">
93
- <ul class="list-group">
94
- <li class="list-group-item">Dapibus ac facilisis in</li>
95
- <li class="list-group-item list-group-item-primary">This is a primary list group item</li>
96
- <li class="list-group-item list-group-item-secondary">This is a secondary list group item</li>
97
- <li class="list-group-item list-group-item-success">This is a success list group item</li>
98
- <li class="list-group-item list-group-item-danger">This is a danger list group item</li>
99
- <li class="list-group-item list-group-item-warning">This is a warning list group item</li>
100
- <li class="list-group-item list-group-item-info">This is a info list group item</li>
101
- <li class="list-group-item list-group-item-light">This is a light list group item</li>
102
- <li class="list-group-item list-group-item-dark">This is a dark list group item</li>
103
- </ul>
104
- </div>
105
- </div>
106
- </div>
107
-
108
- <div class="col-sm-12 col-xl-6">
109
- <div class="card">
110
- <div class="card-header">
111
- <%= fa_icon("tint") %> List group
112
- <small>contextual with <code>.action</code></small>
113
- </div>
114
-
115
- <div class="card-body">
116
- <div class="list-group">
117
- <a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a>
118
- <a href="#" class="list-group-item list-group-item-action list-group-item-primary">This is a primary list group item</a>
119
- <a href="#" class="list-group-item list-group-item-action list-group-item-secondary">This is a secondary list group item</a>
120
- <a href="#" class="list-group-item list-group-item-action list-group-item-success">This is a success list group item</a>
121
- <a href="#" class="list-group-item list-group-item-action list-group-item-danger">This is a danger list group item</a>
122
- <a href="#" class="list-group-item list-group-item-action list-group-item-warning">This is a warning list group item</a>
123
- <a href="#" class="list-group-item list-group-item-action list-group-item-info">This is a info list group item</a>
124
- <a href="#" class="list-group-item list-group-item-action list-group-item-light">This is a light list group item</a>
125
- <a href="#" class="list-group-item list-group-item-action list-group-item-dark">This is a dark list group item</a>
126
- </div>
127
- </div>
128
- </div>
129
- </div>
130
- </div>
131
-
132
- <div class="row">
133
- <div class="col-sm-12 col-xl-6">
134
- <div class="card">
135
- <div class="card-header">
136
- <%= fa_icon("tint") %> List group
137
-
138
- <small>with badges</small>
139
- </div>
140
-
141
- <div class="card-body">
142
- <ul class="list-group">
143
- <li class="list-group-item d-flex list-group-item-action justify-content-between align-items-center">
144
- Cras justo odio
145
- <span class="badge badge-primary badge-pill">14</span>
146
- </li>
147
- <li class="list-group-item d-flex list-group-item-action justify-content-between align-items-center">
148
- Dapibus ac facilisis in
149
- <span class="badge badge-primary badge-pill">2</span>
150
- </li>
151
- <li class="list-group-item d-flex list-group-item-action justify-content-between align-items-center">
152
- Morbi leo risus
153
- <span class="badge badge-primary badge-pill">1</span>
154
- </li>
155
- </ul>
156
- </div>
157
- </div>
158
- </div>
159
-
160
- <div class="col-sm-12 col-xl-6">
161
- <div class="card">
162
- <div class="card-header">
163
- <%= fa_icon("tint") %> List group
164
-
165
- <small>custom content</small>
166
- </div>
167
-
168
- <div class="card-body">
169
- <div class="list-group">
170
- <a href="#" class="list-group-item list-group-item-action flex-column align-items-start active">
171
- <div class="d-flex w-100 justify-content-between">
172
- <h5 class="mb-1">List group item heading</h5>
173
- <small>3 days ago</small>
174
- </div>
175
- <p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
176
- <small>Donec id elit non mi porta.</small>
177
- </a>
178
- <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
179
- <div class="d-flex w-100 justify-content-between">
180
- <h5 class="mb-1">List group item heading</h5>
181
- <small class="text-muted">3 days ago</small>
182
- </div>
183
- <p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
184
- <small class="text-muted">Donec id elit non mi porta.</small>
185
- </a>
186
- <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
187
- <div class="d-flex w-100 justify-content-between">
188
- <h5 class="mb-1">List group item heading</h5>
189
- <small class="text-muted">3 days ago</small>
190
- </div>
191
- <p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
192
- <small class="text-muted">Donec id elit non mi porta.</small>
193
- </a>
194
- </div>
195
- </div>
196
- </div>
197
- </div>
198
- </div>
199
-
200
- <div class="row">
201
- <div class="col">
202
- <div class="card">
203
- <div class="card-header">
204
- <%= fa_icon("tint") %> List group
205
-
206
- <small>tab Javascript plugin</small>
207
- </div>
208
-
209
- <div class="card-body">
210
- <div class="row">
211
- <div class="col-4">
212
- <div class="list-group" id="list-tab" role="tablist">
213
- <a class="list-group-item list-group-item-action" id="list-home-list" data-toggle="tab" href="#list-home" role="tab" aria-controls="list-home" aria-selected="false">Home</a>
214
- <a class="list-group-item list-group-item-action active" id="list-profile-list" data-toggle="tab" href="#list-profile" role="tab" aria-controls="list-profile" aria-selected="true">Profile</a>
215
- <a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="tab" href="#list-messages" role="tab" aria-controls="list-messages">Messages</a>
216
- <a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="tab" href="#list-settings" role="tab" aria-controls="list-settings">Settings</a>
217
- </div>
218
- </div>
219
-
220
- <div class="col-8">
221
- <div class="tab-content" id="nav-tabContent">
222
- <div class="tab-pane fade" id="list-home" role="tabpanel" aria-labelledby="list-home-list">
223
- <p>
224
- Velit aute mollit ipsum ad dolor consectetur nulla officia culpa adipisicing exercitation fugiat tempor. Voluptate deserunt sit sunt nisi aliqua fugiat proident ea ut. Mollit voluptate reprehenderit occaecat nisi ad non minim tempor
225
- sunt voluptate consectetur exercitation id ut nulla. Ea et fugiat aliquip nostrud sunt incididunt consectetur culpa aliquip eiusmod dolor. Anim ad Lorem aliqua in cupidatat nisi enim eu nostrud do aliquip veniam minim.
226
- </p>
227
- </div>
228
- <div class="tab-pane fade active show" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">
229
- <p>
230
- Cupidatat quis ad sint excepteur laborum in esse qui. Et excepteur consectetur ex nisi eu do cillum ad laborum. Mollit et eu officia dolore sunt Lorem culpa qui commodo velit ex amet id ex. Officia anim incididunt laboris deserunt anim
231
- aute dolor incididunt veniam aute dolore do exercitation. Dolor nisi culpa ex ad irure in elit eu dolore. Ad laboris ipsum reprehenderit irure non commodo enim culpa commodo veniam incididunt veniam ad.
232
- </p>
233
- </div>
234
- <div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">
235
- <p>
236
- Ut ut do pariatur aliquip aliqua aliquip exercitation do nostrud commodo reprehenderit aute ipsum voluptate. Irure Lorem et laboris nostrud amet cupidatat cupidatat anim do ut velit mollit consequat enim tempor. Consectetur est minim
237
- nostrud nostrud consectetur irure labore voluptate irure. Ipsum id Lorem sit sint voluptate est pariatur eu ad cupidatat et deserunt culpa sit eiusmod deserunt. Consectetur et fugiat anim do eiusmod aliquip nulla laborum elit adipisicing
238
- pariatur cillum.
239
- </p>
240
- </div>
241
- <div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">
242
- <p>
243
- Irure enim occaecat labore sit qui aliquip reprehenderit amet velit. Deserunt ullamco ex elit nostrud ut dolore nisi officia magna sit occaecat laboris sunt dolor. Nisi eu minim cillum occaecat aute est cupidatat aliqua labore aute occaecat
244
- ea aliquip sunt amet. Aute mollit dolor ut exercitation irure commodo non amet consectetur quis amet culpa. Quis ullamco nisi amet qui aute irure eu. Magna labore dolor quis ex labore id nostrud deserunt dolor eiusmod eu pariatur culpa
245
- mollit in irure.
246
- </p>
247
- </div>
248
- </div>
249
- </div>
250
- </div>
251
- </div>
252
- </div>
253
- </div>
254
- </div>
@@ -1,41 +0,0 @@
1
- <div class="card">
2
- <div class="card-header">
3
- <%= fa_icon("tint") %> Bootstrap Modals
4
- </div>
5
-
6
- <div class="card-body">
7
- <button type="button" class="btn btn-secondary" data-toggle="modal" data-target="#myModal">
8
- Launch demo modal
9
- </button>
10
-
11
- <button type="button" class="btn btn-secondary" data-toggle="modal" data-target="#largeModal">
12
- Launch large modal
13
- </button>
14
-
15
- <button type="button" class="btn btn-secondary" data-toggle="modal" data-target="#smallModal">
16
- Launch small modal
17
- </button>
18
-
19
- <hr>
20
-
21
- <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#primaryModal">
22
- Primary modal
23
- </button>
24
-
25
- <button type="button" class="btn btn-success" data-toggle="modal" data-target="#successModal">
26
- Success modal
27
- </button>
28
-
29
- <button type="button" class="btn btn-warning" data-toggle="modal" data-target="#warningModal">
30
- Warning modal
31
- </button>
32
-
33
- <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#dangerModal">
34
- Danger modal
35
- </button>
36
-
37
- <button type="button" class="btn btn-info" data-toggle="modal" data-target="#infoModal">
38
- Info modal
39
- </button>
40
- </div>
41
- </div>
@@ -1,389 +0,0 @@
1
- <div class="row">
2
- <div class="col-sm-12 col-xl-6">
3
- <div class="card">
4
- <div class="card-header">
5
- <%= fa_icon("tint") %> Navs
6
- </div>
7
-
8
- <div class="card-body">
9
- <ul class="nav">
10
- <li class="nav-item">
11
- <a class="nav-link active" href="#">Active</a>
12
- </li>
13
- <li class="nav-item">
14
- <a class="nav-link" href="#">Link</a>
15
- </li>
16
- <li class="nav-item">
17
- <a class="nav-link" href="#">Link</a>
18
- </li>
19
- <li class="nav-item">
20
- <a class="nav-link disabled" href="#">Disabled</a>
21
- </li>
22
- </ul>
23
-
24
- <hr>
25
-
26
- <nav class="nav">
27
- <a class="nav-link active" href="#">Active</a>
28
- <a class="nav-link" href="#">Link</a>
29
- <a class="nav-link" href="#">Link</a>
30
- <a class="nav-link disabled" href="#">Disabled</a>
31
- </nav>
32
-
33
- <hr>
34
-
35
- <ul class="nav justify-content-center">
36
- <li class="nav-item">
37
- <a class="nav-link active" href="#">Active</a>
38
- </li>
39
- <li class="nav-item">
40
- <a class="nav-link" href="#">Link</a>
41
- </li>
42
- <li class="nav-item">
43
- <a class="nav-link" href="#">Link</a>
44
- </li>
45
- <li class="nav-item">
46
- <a class="nav-link disabled" href="#">Disabled</a>
47
- </li>
48
- </ul>
49
-
50
- <hr>
51
-
52
- <ul class="nav justify-content-end">
53
- <li class="nav-item">
54
- <a class="nav-link active" href="#">Active</a>
55
- </li>
56
- <li class="nav-item">
57
- <a class="nav-link" href="#">Link</a>
58
- </li>
59
- <li class="nav-item">
60
- <a class="nav-link" href="#">Link</a>
61
- </li>
62
- <li class="nav-item">
63
- <a class="nav-link disabled" href="#">Disabled</a>
64
- </li>
65
- </ul>
66
- </div>
67
- </div>
68
- </div>
69
-
70
- <div class="col-sm-12 col-xl-3">
71
- <div class="card">
72
- <div class="card-header">
73
- <%= fa_icon("tint") %> Navs
74
-
75
- <small>vertical</small>
76
- </div>
77
-
78
- <div class="card-body">
79
- <nav class="nav flex-column">
80
- <a class="nav-link active" href="#">Active</a>
81
- <a class="nav-link" href="#">Link</a>
82
- <a class="nav-link" href="#">Link</a>
83
- <a class="nav-link disabled" href="#">Disabled</a>
84
- </nav>
85
- </div>
86
- </div>
87
- </div>
88
-
89
- <div class="col-sm-12 col-xl-3">
90
- <div class="card">
91
- <div class="card-header">
92
- <%= fa_icon("tint") %> Navs
93
-
94
- <small>vertical</small>
95
- </div>
96
-
97
- <div class="card-body">
98
- <ul class="nav flex-column">
99
- <li class="nav-item">
100
- <a class="nav-link active" href="#">Active</a>
101
- </li>
102
- <li class="nav-item">
103
- <a class="nav-link" href="#">Link</a>
104
- </li>
105
- <li class="nav-item">
106
- <a class="nav-link" href="#">Link</a>
107
- </li>
108
- <li class="nav-item">
109
- <a class="nav-link disabled" href="#">Disabled</a>
110
- </li>
111
- </ul>
112
- </div>
113
- </div>
114
- </div>
115
- </div>
116
-
117
- <div class="row">
118
- <div class="col-sm-12 col-xl-6">
119
- <div class="card">
120
- <div class="card-header">
121
- <%= fa_icon("tint") %> Navs
122
-
123
- <small>tabs</small>
124
- </div>
125
-
126
- <div class="card-body">
127
- <ul class="nav nav-tabs">
128
- <li class="nav-item">
129
- <a class="nav-link active" href="#">Active</a>
130
- </li>
131
- <li class="nav-item">
132
- <a class="nav-link" href="#">Link</a>
133
- </li>
134
- <li class="nav-item">
135
- <a class="nav-link" href="#">Link</a>
136
- </li>
137
- <li class="nav-item">
138
- <a class="nav-link disabled" href="#">Disabled</a>
139
- </li>
140
- </ul>
141
- </div>
142
- </div>
143
- </div>
144
-
145
- <div class="col-sm-12 col-xl-6">
146
- <div class="card">
147
- <div class="card-header">
148
- <%= fa_icon("tint") %> Navs
149
-
150
- <small>pills</small>
151
- </div>
152
-
153
- <div class="card-body">
154
- <ul class="nav nav-pills">
155
- <li class="nav-item">
156
- <a class="nav-link active" href="#">Active</a>
157
- </li>
158
- <li class="nav-item">
159
- <a class="nav-link" href="#">Link</a>
160
- </li>
161
- <li class="nav-item">
162
- <a class="nav-link" href="#">Link</a>
163
- </li>
164
- <li class="nav-item">
165
- <a class="nav-link disabled" href="#">Disabled</a>
166
- </li>
167
- </ul>
168
- </div>
169
- </div>
170
- </div>
171
- </div>
172
-
173
- <div class="row">
174
- <div class="col">
175
- <div class="card">
176
- <div class="card-header">
177
- <%= fa_icon("tint") %> Navs
178
-
179
- <small>fill and justify</small>
180
- </div>
181
-
182
- <div class="card-body">
183
- <ul class="nav nav-pills nav-fill">
184
- <li class="nav-item">
185
- <a class="nav-link active" href="#">Active</a>
186
- </li>
187
- <li class="nav-item">
188
- <a class="nav-link" href="#">Longer nav link</a>
189
- </li>
190
- <li class="nav-item">
191
- <a class="nav-link" href="#">Link</a>
192
- </li>
193
- <li class="nav-item">
194
- <a class="nav-link disabled" href="#">Disabled</a>
195
- </li>
196
- </ul>
197
-
198
- <hr>
199
-
200
- <nav class="nav nav-pills nav-fill">
201
- <a class="nav-item nav-link active" href="#">Active</a>
202
- <a class="nav-item nav-link" href="#">Link</a>
203
- <a class="nav-item nav-link" href="#">Link</a>
204
- <a class="nav-item nav-link disabled" href="#">Disabled</a>
205
- </nav>
206
-
207
- <hr>
208
-
209
- <nav class="nav nav-pills nav-justified">
210
- <a class="nav-link active" href="#">Active</a>
211
- <a class="nav-link" href="#">Longer nav link</a>
212
- <a class="nav-link" href="#">Link</a>
213
- <a class="nav-link disabled" href="#">Disabled</a>
214
- </nav>
215
-
216
- <hr>
217
-
218
- <nav class="nav nav-pills nav-justified">
219
- <a class="nav-item nav-link active" href="#">Active</a>
220
- <a class="nav-item nav-link" href="#">Link</a>
221
- <a class="nav-item nav-link" href="#">Link</a>
222
- <a class="nav-item nav-link disabled" href="#">Disabled</a>
223
- </nav>
224
- </div>
225
- </div>
226
- </div>
227
- </div>
228
-
229
- <div class="row">
230
- <div class="col">
231
- <div class="card">
232
- <div class="card-header">
233
- <%= fa_icon("tint") %> Navs
234
-
235
- <small>with flex</small>
236
- </div>
237
-
238
- <div class="card-body">
239
- <nav class="nav nav-pills flex-column flex-sm-row">
240
- <a class="flex-sm-fill text-sm-center nav-link active" href="#">Active</a>
241
- <a class="flex-sm-fill text-sm-center nav-link" href="#">Link</a>
242
- <a class="flex-sm-fill text-sm-center nav-link" href="#">Link</a>
243
- <a class="flex-sm-fill text-sm-center nav-link disabled" href="#">Disabled</a>
244
- </nav>
245
- </div>
246
- </div>
247
- </div>
248
- </div>
249
-
250
- <div class="row">
251
- <div class="col">
252
- <div class="card">
253
- <div class="card-header">
254
- <%= fa_icon("tint") %> Navs
255
-
256
- <small>tabs with dropdowns</small>
257
- </div>
258
-
259
- <div class="card-body">
260
- <ul class="nav nav-tabs">
261
- <li class="nav-item"><a class="nav-link active" href="#">Active</a></li>
262
- <li class="nav-item dropdown">
263
- <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
264
-
265
- <div class="dropdown-menu">
266
- <a class="dropdown-item" href="#">Action</a>
267
- <a class="dropdown-item" href="#">Another action</a>
268
- <a class="dropdown-item" href="#">Something else here</a>
269
-
270
- <div class="dropdown-divider"></div>
271
-
272
- <a class="dropdown-item" href="#">Separated link</a>
273
- </div>
274
- </li>
275
- <li class="nav-item"><a class="nav-link" href="#">Link</a></li>
276
- <li class="nav-item"><a class="nav-link disabled" href="#">Disabled</a></li>
277
- </ul>
278
- </div>
279
- </div>
280
- </div>
281
-
282
- <div class="col">
283
- <div class="card">
284
- <div class="card-header">
285
- <%= fa_icon("tint") %> Navs
286
-
287
- <small>pills with dropdowns</small>
288
- </div>
289
-
290
- <div class="card-body">
291
- <ul class="nav nav-pills">
292
- <li class="nav-item"><a class="nav-link active" href="#">Active</a></li>
293
- <li class="nav-item dropdown">
294
- <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
295
-
296
- <div class="dropdown-menu">
297
- <a class="dropdown-item" href="#">Action</a>
298
- <a class="dropdown-item" href="#">Another action</a>
299
- <a class="dropdown-item" href="#">Something else here</a>
300
-
301
- <div class="dropdown-divider"></div>
302
-
303
- <a class="dropdown-item" href="#">Separated link</a>
304
- </div>
305
- </li>
306
- <li class="nav-item"><a class="nav-link" href="#">Link</a></li>
307
- <li class="nav-item"><a class="nav-link disabled" href="#">Disabled</a></li>
308
- </ul>
309
- </div>
310
- </div>
311
- </div>
312
- </div>
313
-
314
- <div class="row">
315
- <div class="col">
316
- <div class="card">
317
- <div class="card-header">
318
- <%= fa_icon("tint") %> Navs
319
-
320
- <small>with tab JavaScript plugin</small>
321
- </div>
322
-
323
- <div class="card-body">
324
- <ul class="nav nav-tabs" id="myTab1" role="tablist">
325
- <li class="nav-item">
326
- <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
327
- </li>
328
- <li class="nav-item">
329
- <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
330
- </li>
331
- <li class="nav-item">
332
- <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Contact</a>
333
- </li>
334
- </ul>
335
-
336
- <div class="tab-content" id="myTab1Content">
337
- <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
338
- Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater
339
- eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
340
- </div>
341
- <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
342
- Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo
343
- enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack
344
- odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.
345
- </div>
346
- <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
347
- Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy
348
- hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard
349
- of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.
350
- </div>
351
- </div>
352
-
353
- <hr>
354
-
355
- <div class="row">
356
- <div class="col">
357
- <ul class="nav nav-pills mb-1" id="pills-tab" role="tablist">
358
- <li class="nav-item">
359
- <a class="nav-link active" id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" aria-controls="pills-home" aria-selected="true">Home</a>
360
- </li>
361
- <li class="nav-item">
362
- <a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab" aria-controls="pills-profile" aria-selected="false">Profile</a>
363
- </li>
364
- <li class="nav-item">
365
- <a class="nav-link" id="pills-contact-tab" data-toggle="pill" href="#pills-contact" role="tab" aria-controls="pills-contact" aria-selected="false">Contact</a>
366
- </li>
367
- </ul>
368
-
369
- <div class="tab-content" id="pills-tabContent">
370
- <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">
371
- Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater
372
- eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
373
- </div>
374
- <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">
375
- Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo
376
- enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack
377
- odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.
378
- </div>
379
- <div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab">
380
- Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy
381
- hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't
382
- heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr. </div>
383
- </div>
384
- </div>
385
- </div>
386
- </div>
387
- </div>
388
- </div>
389
- </div>