HornsAndHooves-publify_core 10.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (452) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +102 -0
  3. data/MIT-LICENSE +21 -0
  4. data/README.md +9 -0
  5. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  6. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +288 -0
  7. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  8. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  9. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  10. data/app/assets/fonts/open-sans-bold.woff +0 -0
  11. data/app/assets/fonts/open-sans.woff +0 -0
  12. data/app/assets/images/admin/loading.gif +0 -0
  13. data/app/assets/images/admin/typologo.gif +0 -0
  14. data/app/assets/images/calendar_date_select/calendar.gif +0 -0
  15. data/app/assets/images/close.gif +0 -0
  16. data/app/assets/images/closelabel.gif +0 -0
  17. data/app/assets/images/go.png +0 -0
  18. data/app/assets/images/loading.gif +0 -0
  19. data/app/assets/images/nextlabel.gif +0 -0
  20. data/app/assets/images/overlay.png +0 -0
  21. data/app/assets/images/powered.gif +0 -0
  22. data/app/assets/images/prevlabel.gif +0 -0
  23. data/app/assets/images/spinner-blue.gif +0 -0
  24. data/app/assets/images/spinner.gif +0 -0
  25. data/app/assets/images/thumb_blank.jpg +0 -0
  26. data/app/assets/javascripts/application.js +2 -0
  27. data/app/assets/javascripts/bootstrap/affix.js +164 -0
  28. data/app/assets/javascripts/bootstrap/alert.js +95 -0
  29. data/app/assets/javascripts/bootstrap/button.js +125 -0
  30. data/app/assets/javascripts/bootstrap/collapse.js +212 -0
  31. data/app/assets/javascripts/bootstrap/dropdown.js +165 -0
  32. data/app/assets/javascripts/bootstrap/modal.js +358 -0
  33. data/app/assets/javascripts/bootstrap/tab.js +155 -0
  34. data/app/assets/javascripts/bootstrap/transition.js +59 -0
  35. data/app/assets/javascripts/bootstrap-sprockets.js +8 -0
  36. data/app/assets/javascripts/cookies.js +60 -0
  37. data/app/assets/javascripts/datetimepicker.js +1470 -0
  38. data/app/assets/javascripts/lang/da_DK.js +17 -0
  39. data/app/assets/javascripts/lang/default.js +21 -0
  40. data/app/assets/javascripts/lang/en_US.js +21 -0
  41. data/app/assets/javascripts/lang/fr_FR.js +21 -0
  42. data/app/assets/javascripts/lang/nl_NL.js +21 -0
  43. data/app/assets/javascripts/lang/zh_TW.js +17 -0
  44. data/app/assets/javascripts/lightbox.js +350 -0
  45. data/app/assets/javascripts/observe.js +28 -0
  46. data/app/assets/javascripts/publify.js +11 -0
  47. data/app/assets/javascripts/publify_admin.js +104 -0
  48. data/app/assets/javascripts/quicktags.js +448 -0
  49. data/app/assets/javascripts/set-timeago-lang.js +3 -0
  50. data/app/assets/javascripts/sidebar.js +28 -0
  51. data/app/assets/javascripts/spinnable.js +5 -0
  52. data/app/assets/javascripts/tagmanager.js +481 -0
  53. data/app/assets/javascripts/typeahead.js +1139 -0
  54. data/app/assets/stylesheets/_bootstrap-compass.scss +9 -0
  55. data/app/assets/stylesheets/_bootstrap-mincer.scss +19 -0
  56. data/app/assets/stylesheets/_bootstrap-sprockets.scss +9 -0
  57. data/app/assets/stylesheets/_bootstrap.scss +43 -0
  58. data/app/assets/stylesheets/accounts.css.scss +7 -0
  59. data/app/assets/stylesheets/administration_structure.css.scss +255 -0
  60. data/app/assets/stylesheets/bootstrap/_alerts.scss +73 -0
  61. data/app/assets/stylesheets/bootstrap/_button-groups.scss +242 -0
  62. data/app/assets/stylesheets/bootstrap/_buttons.scss +168 -0
  63. data/app/assets/stylesheets/bootstrap/_close.scss +37 -0
  64. data/app/assets/stylesheets/bootstrap/_code.scss +69 -0
  65. data/app/assets/stylesheets/bootstrap/_component-animations.scss +38 -0
  66. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +213 -0
  67. data/app/assets/stylesheets/bootstrap/_forms.scss +586 -0
  68. data/app/assets/stylesheets/bootstrap/_glyphicons.scss +307 -0
  69. data/app/assets/stylesheets/bootstrap/_grid.scss +94 -0
  70. data/app/assets/stylesheets/bootstrap/_labels.scss +66 -0
  71. data/app/assets/stylesheets/bootstrap/_media.scss +66 -0
  72. data/app/assets/stylesheets/bootstrap/_mixins.scss +37 -0
  73. data/app/assets/stylesheets/bootstrap/_modals.scss +150 -0
  74. data/app/assets/stylesheets/bootstrap/_navbar.scss +479 -0
  75. data/app/assets/stylesheets/bootstrap/_navs.scss +242 -0
  76. data/app/assets/stylesheets/bootstrap/_normalize.scss +427 -0
  77. data/app/assets/stylesheets/bootstrap/_pagination.scss +86 -0
  78. data/app/assets/stylesheets/bootstrap/_panels.scss +222 -0
  79. data/app/assets/stylesheets/bootstrap/_print.scss +99 -0
  80. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +160 -0
  81. data/app/assets/stylesheets/bootstrap/_tables.scss +234 -0
  82. data/app/assets/stylesheets/bootstrap/_theme.scss +224 -0
  83. data/app/assets/stylesheets/bootstrap/_type.scss +296 -0
  84. data/app/assets/stylesheets/bootstrap/_utilities.scss +55 -0
  85. data/app/assets/stylesheets/bootstrap/_variables.scss +654 -0
  86. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  87. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +15 -0
  88. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +12 -0
  89. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  90. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +56 -0
  91. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  92. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  93. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +82 -0
  94. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +56 -0
  95. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  96. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  97. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  98. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +28 -0
  99. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  100. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  101. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  102. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +7 -0
  103. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +24 -0
  104. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +20 -0
  105. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  106. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  107. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +17 -0
  108. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  109. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  110. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  111. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +12 -0
  112. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  113. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  114. data/app/assets/stylesheets/coderay.css +135 -0
  115. data/app/assets/stylesheets/datetimepicker.css +306 -0
  116. data/app/assets/stylesheets/lightbox.css +63 -0
  117. data/app/assets/stylesheets/publify.css.scss +9 -0
  118. data/app/assets/stylesheets/publify_admin.css.scss +10 -0
  119. data/app/assets/stylesheets/rss.css +53 -0
  120. data/app/assets/stylesheets/sidebar_admin.css.scss +36 -0
  121. data/app/assets/stylesheets/tagmanager.css +102 -0
  122. data/app/assets/stylesheets/user-styles.css +29 -0
  123. data/app/controllers/accounts_controller.rb +4 -0
  124. data/app/controllers/admin/base_controller.rb +27 -0
  125. data/app/controllers/admin/content_controller.rb +194 -0
  126. data/app/controllers/admin/dashboard_controller.rb +33 -0
  127. data/app/controllers/admin/feedback_controller.rb +160 -0
  128. data/app/controllers/admin/notes_controller.rb +73 -0
  129. data/app/controllers/admin/pages_controller.rb +73 -0
  130. data/app/controllers/admin/post_types_controller.rb +57 -0
  131. data/app/controllers/admin/profiles_controller.rb +57 -0
  132. data/app/controllers/admin/redirects_controller.rb +51 -0
  133. data/app/controllers/admin/resources_controller.rb +36 -0
  134. data/app/controllers/admin/seo_controller.rb +46 -0
  135. data/app/controllers/admin/settings_controller.rb +53 -0
  136. data/app/controllers/admin/sidebar_controller.rb +67 -0
  137. data/app/controllers/admin/tags_controller.rb +55 -0
  138. data/app/controllers/admin/themes_controller.rb +31 -0
  139. data/app/controllers/admin/users_controller.rb +67 -0
  140. data/app/controllers/articles_controller.rb +215 -0
  141. data/app/controllers/authors_controller.rb +30 -0
  142. data/app/controllers/base_controller.rb +43 -0
  143. data/app/controllers/comments_controller.rb +67 -0
  144. data/app/controllers/content_controller.rb +24 -0
  145. data/app/controllers/feedback_controller.rb +13 -0
  146. data/app/controllers/notes_controller.rb +35 -0
  147. data/app/controllers/setup_controller.rb +61 -0
  148. data/app/controllers/tags_controller.rb +50 -0
  149. data/app/controllers/text_controller.rb +7 -0
  150. data/app/controllers/textfilter_controller.rb +5 -0
  151. data/app/controllers/theme_controller.rb +63 -0
  152. data/app/controllers/xml_controller.rb +20 -0
  153. data/app/helpers/admin/base_helper.rb +87 -0
  154. data/app/helpers/admin/feedback_helper.rb +53 -0
  155. data/app/helpers/articles_helper.rb +10 -0
  156. data/app/helpers/authors_helper.rb +30 -0
  157. data/app/helpers/base_helper.rb +257 -0
  158. data/app/helpers/blog_helper.rb +14 -0
  159. data/app/helpers/xml_helper.rb +18 -0
  160. data/app/jobs/application_job.rb +5 -0
  161. data/app/mailers/notification_mailer.rb +40 -0
  162. data/app/models/ability.rb +53 -0
  163. data/app/models/archives_sidebar.rb +45 -0
  164. data/app/models/article/factory.rb +64 -0
  165. data/app/models/article.rb +308 -0
  166. data/app/models/blog.rb +280 -0
  167. data/app/models/comment.rb +57 -0
  168. data/app/models/config_manager.rb +83 -0
  169. data/app/models/content.rb +118 -0
  170. data/app/models/content_base.rb +88 -0
  171. data/app/models/feedback.rb +250 -0
  172. data/app/models/meta_sidebar.rb +10 -0
  173. data/app/models/note.rb +152 -0
  174. data/app/models/page.rb +42 -0
  175. data/app/models/page_sidebar.rb +14 -0
  176. data/app/models/ping.rb +5 -0
  177. data/app/models/post_type.rb +16 -0
  178. data/app/models/redirect.rb +51 -0
  179. data/app/models/redirection.rb +6 -0
  180. data/app/models/resource.rb +12 -0
  181. data/app/models/search_sidebar.rb +9 -0
  182. data/app/models/sidebar.rb +142 -0
  183. data/app/models/static_sidebar.rb +22 -0
  184. data/app/models/tag.rb +71 -0
  185. data/app/models/tag_sidebar.rb +30 -0
  186. data/app/models/text_filter.rb +141 -0
  187. data/app/models/trackback.rb +46 -0
  188. data/app/models/trigger.rb +34 -0
  189. data/app/models/user.rb +142 -0
  190. data/app/services/title_builder.rb +88 -0
  191. data/app/uploaders/resource_uploader.rb +63 -0
  192. data/app/views/accounts/confirm.html.erb +7 -0
  193. data/app/views/admin/content/_article_list.html.erb +26 -0
  194. data/app/views/admin/content/_form.html.erb +145 -0
  195. data/app/views/admin/content/autosave.js.erb +5 -0
  196. data/app/views/admin/content/edit.html.erb +3 -0
  197. data/app/views/admin/content/index.html.erb +48 -0
  198. data/app/views/admin/content/index.js.erb +1 -0
  199. data/app/views/admin/content/new.html.erb +3 -0
  200. data/app/views/admin/dashboard/_comment.html.erb +18 -0
  201. data/app/views/admin/dashboard/_comments.html.erb +10 -0
  202. data/app/views/admin/dashboard/_drafts.html.erb +25 -0
  203. data/app/views/admin/dashboard/_overview.html.erb +21 -0
  204. data/app/views/admin/dashboard/_welcome.html.erb +28 -0
  205. data/app/views/admin/dashboard/index.html.erb +16 -0
  206. data/app/views/admin/feedback/_button.html.erb +19 -0
  207. data/app/views/admin/feedback/_feedback.html.erb +7 -0
  208. data/app/views/admin/feedback/_ham.html.erb +17 -0
  209. data/app/views/admin/feedback/_spam.html.erb +23 -0
  210. data/app/views/admin/feedback/article.html.erb +69 -0
  211. data/app/views/admin/feedback/edit.html.erb +48 -0
  212. data/app/views/admin/feedback/ham.js +1 -0
  213. data/app/views/admin/feedback/index.html.erb +53 -0
  214. data/app/views/admin/feedback/spam.js +1 -0
  215. data/app/views/admin/migrations/show.html.erb +39 -0
  216. data/app/views/admin/notes/_form.html.erb +37 -0
  217. data/app/views/admin/notes/_header.html.erb +6 -0
  218. data/app/views/admin/notes/_list.html.erb +13 -0
  219. data/app/views/admin/notes/_note.html.erb +14 -0
  220. data/app/views/admin/notes/edit.html.erb +11 -0
  221. data/app/views/admin/notes/index.html.erb +11 -0
  222. data/app/views/admin/notes/show.html.erb +14 -0
  223. data/app/views/admin/pages/_form.html.erb +101 -0
  224. data/app/views/admin/pages/_pages.html.erb +21 -0
  225. data/app/views/admin/pages/edit.html.erb +1 -0
  226. data/app/views/admin/pages/index.html.erb +17 -0
  227. data/app/views/admin/pages/new.html.erb +1 -0
  228. data/app/views/admin/post_types/_index_and_form.html.erb +65 -0
  229. data/app/views/admin/post_types/edit.html.erb +1 -0
  230. data/app/views/admin/post_types/index.html.erb +1 -0
  231. data/app/views/admin/profiles/index.html.erb +10 -0
  232. data/app/views/admin/redirects/_index_and_form.html.erb +68 -0
  233. data/app/views/admin/redirects/edit.html.erb +1 -0
  234. data/app/views/admin/redirects/index.html.erb +1 -0
  235. data/app/views/admin/resources/index.html.erb +72 -0
  236. data/app/views/admin/seo/_general.html.erb +104 -0
  237. data/app/views/admin/seo/_permalinks.html.erb +53 -0
  238. data/app/views/admin/seo/_titles.html.erb +209 -0
  239. data/app/views/admin/seo/show.html.erb +28 -0
  240. data/app/views/admin/settings/display.html.erb +101 -0
  241. data/app/views/admin/settings/feedback.html.erb +118 -0
  242. data/app/views/admin/settings/index.html.erb +73 -0
  243. data/app/views/admin/settings/write.html.erb +69 -0
  244. data/app/views/admin/shared/_edit.html.erb +4 -0
  245. data/app/views/admin/shared/_menu.html.erb +121 -0
  246. data/app/views/admin/shared/_twitter_alert.html.erb +3 -0
  247. data/app/views/admin/sidebar/_available.html.erb +6 -0
  248. data/app/views/admin/sidebar/_available.json.erb +6 -0
  249. data/app/views/admin/sidebar/_config.html.erb +27 -0
  250. data/app/views/admin/sidebar/_target.html.erb +9 -0
  251. data/app/views/admin/sidebar/_target_sidebar.html.erb +20 -0
  252. data/app/views/admin/sidebar/destroy.js.erb +1 -0
  253. data/app/views/admin/sidebar/index.html.erb +31 -0
  254. data/app/views/admin/sidebar/sortable.js.erb +3 -0
  255. data/app/views/admin/sidebar/update.js.erb +2 -0
  256. data/app/views/admin/tags/_index_and_form.html.erb +59 -0
  257. data/app/views/admin/tags/edit.html.erb +1 -0
  258. data/app/views/admin/tags/index.html.erb +1 -0
  259. data/app/views/admin/themes/index.html.erb +27 -0
  260. data/app/views/admin/users/_form.html.erb +215 -0
  261. data/app/views/admin/users/edit.html.erb +8 -0
  262. data/app/views/admin/users/index.html.erb +39 -0
  263. data/app/views/admin/users/new.html.erb +8 -0
  264. data/app/views/archives_sidebar/_content.html.erb +13 -0
  265. data/app/views/articles/_archives_article.html.erb +9 -0
  266. data/app/views/articles/_article.html.erb +9 -0
  267. data/app/views/articles/_article_author.html.erb +4 -0
  268. data/app/views/articles/_article_collection.html.erb +8 -0
  269. data/app/views/articles/_article_content.html.erb +5 -0
  270. data/app/views/articles/_article_excerpt.html.erb +15 -0
  271. data/app/views/articles/_article_links.html.erb +12 -0
  272. data/app/views/articles/_comment.html.erb +1 -0
  273. data/app/views/articles/_comment_errors.html.erb +2 -0
  274. data/app/views/articles/_comment_form.html.erb +48 -0
  275. data/app/views/articles/_comment_list.html.erb +5 -0
  276. data/app/views/articles/_comment_preview.html.erb +4 -0
  277. data/app/views/articles/_full_article_content.html.erb +4 -0
  278. data/app/views/articles/_password_form.html.erb +10 -0
  279. data/app/views/articles/_trackback.html.erb +6 -0
  280. data/app/views/articles/archives.html.erb +15 -0
  281. data/app/views/articles/comment.js.erb +5 -0
  282. data/app/views/articles/comment_failed.js.erb +3 -0
  283. data/app/views/articles/error.html.erb +3 -0
  284. data/app/views/articles/feedback_atom_feed.atom.builder +10 -0
  285. data/app/views/articles/feedback_rss_feed.rss.builder +21 -0
  286. data/app/views/articles/index.html.erb +1 -0
  287. data/app/views/articles/index_atom_feed.atom.builder +9 -0
  288. data/app/views/articles/index_rss_feed.rss.builder +20 -0
  289. data/app/views/articles/live_search.html.erb +10 -0
  290. data/app/views/articles/read.html.erb +43 -0
  291. data/app/views/articles/search.html.erb +8 -0
  292. data/app/views/articles/trackback.xml.builder +7 -0
  293. data/app/views/articles/view_page.html.erb +3 -0
  294. data/app/views/authors/show.html.erb +30 -0
  295. data/app/views/authors/show_atom_feed.atom.builder +9 -0
  296. data/app/views/authors/show_rss_feed.rss.builder +20 -0
  297. data/app/views/comments/_comment.html.erb +17 -0
  298. data/app/views/comments/preview.html.erb +1 -0
  299. data/app/views/comments/preview.js.erb +3 -0
  300. data/app/views/devise/mailer/reset_password_instructions.html.erb +11 -0
  301. data/app/views/devise/passwords/edit.html.erb +28 -0
  302. data/app/views/devise/passwords/new.html.erb +20 -0
  303. data/app/views/devise/registrations/new.html.erb +36 -0
  304. data/app/views/devise/sessions/new.html.erb +32 -0
  305. data/app/views/devise/shared/_links.html.erb +11 -0
  306. data/app/views/errors/404.html.erb +2 -0
  307. data/app/views/feedback/index.atom.builder +9 -0
  308. data/app/views/feedback/index.rss.builder +20 -0
  309. data/app/views/layouts/accounts.html.erb +33 -0
  310. data/app/views/layouts/administration.html.erb +37 -0
  311. data/app/views/layouts/default.html.erb +33 -0
  312. data/app/views/layouts/editor.html.erb +17 -0
  313. data/app/views/meta_sidebar/_content.html.erb +8 -0
  314. data/app/views/notes/_note.html.erb +16 -0
  315. data/app/views/notes/error.html.erb +3 -0
  316. data/app/views/notes/index.html.erb +15 -0
  317. data/app/views/notes/show.html.erb +5 -0
  318. data/app/views/notes/show_in_reply.html.erb +18 -0
  319. data/app/views/notification_mailer/_mail_footer.html.erb +5 -0
  320. data/app/views/notification_mailer/_mail_header.html.erb +3 -0
  321. data/app/views/notification_mailer/article.html.erb +7 -0
  322. data/app/views/notification_mailer/comment.html.erb +12 -0
  323. data/app/views/notification_mailer/notif_user.html.erb +9 -0
  324. data/app/views/page_sidebar/_content.html.erb +12 -0
  325. data/app/views/search_sidebar/_content.html.erb +10 -0
  326. data/app/views/settings/done.html.erb +2 -0
  327. data/app/views/settings/install.html.erb +12 -0
  328. data/app/views/setup/index.html.erb +17 -0
  329. data/app/views/shared/_atom_header.atom.builder +6 -0
  330. data/app/views/shared/_atom_item_article.atom.builder +36 -0
  331. data/app/views/shared/_atom_item_comment.atom.builder +10 -0
  332. data/app/views/shared/_atom_item_trackback.atom.builder +10 -0
  333. data/app/views/shared/_flash.erb +10 -0
  334. data/app/views/shared/_google_analytics.html.erb +8 -0
  335. data/app/views/shared/_page_header.html.erb +23 -0
  336. data/app/views/shared/_rss_item_article.rss.builder +32 -0
  337. data/app/views/shared/_rss_item_comment.rss.builder +9 -0
  338. data/app/views/shared/_rss_item_trackback.rss.builder +9 -0
  339. data/app/views/sidebar/_row.html.erb +1 -0
  340. data/app/views/sidebar/_sidebar.html.erb +5 -0
  341. data/app/views/sidebar/display_plugins.html.erb +5 -0
  342. data/app/views/sidebar/show.html.erb +1 -0
  343. data/app/views/static_sidebar/_content.html.erb +2 -0
  344. data/app/views/tag_sidebar/_content.html.erb +10 -0
  345. data/app/views/tags/index.html.erb +15 -0
  346. data/app/views/tags/show.html.erb +1 -0
  347. data/app/views/theme/static_view_test.html.erb +1 -0
  348. data/app/views/xml/_googlesitemap_item_article.googlesitemap.builder +7 -0
  349. data/app/views/xml/_googlesitemap_item_category.googlesitemap.builder +6 -0
  350. data/app/views/xml/_googlesitemap_item_page.googlesitemap.builder +6 -0
  351. data/app/views/xml/_googlesitemap_item_tag.googlesitemap.builder +6 -0
  352. data/app/views/xml/sitemap.googlesitemap.builder +9 -0
  353. data/config/i18n-tasks.yml +49 -0
  354. data/config/initializers/devise.rb +271 -0
  355. data/config/initializers/mime_types.rb +7 -0
  356. data/config/locales/da.yml +769 -0
  357. data/config/locales/de.yml +769 -0
  358. data/config/locales/en.yml +770 -0
  359. data/config/locales/es-MX.yml +769 -0
  360. data/config/locales/fr.yml +769 -0
  361. data/config/locales/he.yml +769 -0
  362. data/config/locales/it.yml +769 -0
  363. data/config/locales/ja.yml +769 -0
  364. data/config/locales/lt.yml +783 -0
  365. data/config/locales/nb-NO.yml +769 -0
  366. data/config/locales/nl.yml +769 -0
  367. data/config/locales/pl.yml +797 -0
  368. data/config/locales/pt-BR.yml +769 -0
  369. data/config/locales/ro.yml +782 -0
  370. data/config/locales/ru.yml +797 -0
  371. data/config/locales/sidebars.da.yml +20 -0
  372. data/config/locales/sidebars.de.yml +20 -0
  373. data/config/locales/sidebars.en.yml +20 -0
  374. data/config/locales/sidebars.es-MX.yml +20 -0
  375. data/config/locales/sidebars.fr.yml +20 -0
  376. data/config/locales/sidebars.he.yml +20 -0
  377. data/config/locales/sidebars.it.yml +20 -0
  378. data/config/locales/sidebars.ja.yml +20 -0
  379. data/config/locales/sidebars.lt.yml +20 -0
  380. data/config/locales/sidebars.nb-NO.yml +20 -0
  381. data/config/locales/sidebars.nl.yml +20 -0
  382. data/config/locales/sidebars.pl.yml +20 -0
  383. data/config/locales/sidebars.pt-BR.yml +20 -0
  384. data/config/locales/sidebars.ro.yml +20 -0
  385. data/config/locales/sidebars.ru.yml +20 -0
  386. data/config/locales/sidebars.zh-CN.yml +20 -0
  387. data/config/locales/sidebars.zh-TW.yml +20 -0
  388. data/config/locales/zh-CN.yml +768 -0
  389. data/config/locales/zh-TW.yml +769 -0
  390. data/config/routes.rb +174 -0
  391. data/db/migrate/113_initial_schema.rb +210 -0
  392. data/db/migrate/114_fixes_buggy_articles_and_notes.rb +56 -0
  393. data/db/migrate/115_drops_categories_for_tags.rb +37 -0
  394. data/db/migrate/20150207131657_add_missing_indexes.rb +23 -0
  395. data/db/migrate/20150807134129_simplify_redirect_relations.rb +45 -0
  396. data/db/migrate/20150808052637_add_blog_ids.rb +39 -0
  397. data/db/migrate/20150808191127_add_blog_id_to_redirects.rb +19 -0
  398. data/db/migrate/20150810094754_add_blog_id_to_tags.rb +19 -0
  399. data/db/migrate/20160108111120_add_devise_to_users.rb +57 -0
  400. data/db/migrate/20160108184201_move_last_connection_to_last_sign_in_at.rb +20 -0
  401. data/db/migrate/20160110094906_remove_profiles_rights.rb +18 -0
  402. data/db/migrate/20160605103918_replace_profile_id_with_string.rb +32 -0
  403. data/db/migrate/20160605154632_remove_profiles.rb +31 -0
  404. data/db/migrate/20160701061851_demand_blog_id_on_contents.rb +13 -0
  405. data/db/migrate/20160701062604_add_blog_id_to_resources.rb +32 -0
  406. data/db/migrate/20170528093024_move_resources_to_content.rb +9 -0
  407. data/db/migrate/20170528094923_move_tags_to_content.rb +10 -0
  408. data/db/migrate/20170528201606_remove_separate_published_flag.rb +9 -0
  409. data/db/migrate/20170605071626_remove_extra_state_columns_from_feedback.rb +10 -0
  410. data/db/migrate/20170702105201_remove_published_at_from_feedback.rb +9 -0
  411. data/db/migrate/20190208151235_add_text_filter_name_fields.rb +11 -0
  412. data/db/migrate/20190208152646_move_text_filter_to_name.rb +99 -0
  413. data/db/migrate/20190209155717_remove_text_filter_ids.rb +21 -0
  414. data/db/migrate/20190209160610_remove_text_filters.rb +19 -0
  415. data/db/seeds.rb +25 -0
  416. data/lib/email_notify.rb +28 -0
  417. data/lib/format.rb +9 -0
  418. data/lib/publify_core/engine.rb +31 -0
  419. data/lib/publify_core/lang.rb +9 -0
  420. data/lib/publify_core/testing_support/dns_mock.rb +15 -0
  421. data/lib/publify_core/testing_support/factories.rb +242 -0
  422. data/lib/publify_core/testing_support/feed_assertions.rb +48 -0
  423. data/lib/publify_core/testing_support/fixtures/exploit.svg +4 -0
  424. data/lib/publify_core/testing_support/fixtures/fakepng.png +1 -0
  425. data/lib/publify_core/testing_support/fixtures/otherfile.txt +1 -0
  426. data/lib/publify_core/testing_support/fixtures/testfile.png +0 -0
  427. data/lib/publify_core/testing_support/fixtures/testfile.txt +1 -0
  428. data/lib/publify_core/testing_support/upload_fixtures.rb +15 -0
  429. data/lib/publify_core/version.rb +5 -0
  430. data/lib/publify_core.rb +46 -0
  431. data/lib/publify_guid.rb +11 -0
  432. data/lib/publify_plugins.rb +77 -0
  433. data/lib/publify_textfilter_markdown.rb +57 -0
  434. data/lib/publify_textfilter_none.rb +16 -0
  435. data/lib/publify_textfilter_smartypants.rb +16 -0
  436. data/lib/publify_textfilter_textile.rb +23 -0
  437. data/lib/publify_textfilter_twitterfilter.rb +39 -0
  438. data/lib/publify_time.rb +34 -0
  439. data/lib/sidebar_field.rb +127 -0
  440. data/lib/sidebar_registry.rb +35 -0
  441. data/lib/spam_protection.rb +103 -0
  442. data/lib/tasks/i18n.rake +9 -0
  443. data/lib/tasks/manifest.rake +30 -0
  444. data/lib/tasks/publify_core_tasks.rake +6 -0
  445. data/lib/text_filter_plugin.rb +183 -0
  446. data/lib/theme.rb +72 -0
  447. data/lib/transforms.rb +47 -0
  448. data/themes/plain/about.markdown +4 -0
  449. data/themes/plain/javascripts/theme.js +0 -0
  450. data/themes/plain/preview.png +0 -0
  451. data/themes/plain/stylesheets/theme.css +57 -0
  452. metadata +1062 -0
@@ -0,0 +1,307 @@
1
+ //
2
+ // Glyphicons for Bootstrap
3
+ //
4
+ // Since icons are fonts, they can be placed anywhere text is placed and are
5
+ // thus automatically sized to match the surrounding child. To use, create an
6
+ // inline element with the appropriate classes, like so:
7
+ //
8
+ // <a href="#"><span class="glyphicon glyphicon-star"></span> Star</a>
9
+
10
+ @at-root {
11
+ // Import the fonts
12
+ @font-face {
13
+ font-family: "Glyphicons Halflings";
14
+ src: url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.eot"), "#{$icon-font-path}#{$icon-font-name}.eot"));
15
+ src: url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.eot?#iefix"), "#{$icon-font-path}#{$icon-font-name}.eot?#iefix")) format("embedded-opentype"),
16
+ url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.woff2"), "#{$icon-font-path}#{$icon-font-name}.woff2")) format("woff2"),
17
+ url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.woff"), "#{$icon-font-path}#{$icon-font-name}.woff")) format("woff"),
18
+ url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.ttf"), "#{$icon-font-path}#{$icon-font-name}.ttf")) format("truetype"),
19
+ url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}"), "#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}")) format("svg");
20
+ }
21
+ }
22
+
23
+ // Catchall baseclass
24
+ .glyphicon {
25
+ position: relative;
26
+ top: 1px;
27
+ display: inline-block;
28
+ font-family: "Glyphicons Halflings";
29
+ font-style: normal;
30
+ font-weight: 400;
31
+ line-height: 1;
32
+ -webkit-font-smoothing: antialiased;
33
+ -moz-osx-font-smoothing: grayscale;
34
+ }
35
+
36
+ // Individual icons
37
+ .glyphicon-asterisk { &:before { content: "\002a"; } }
38
+ .glyphicon-plus { &:before { content: "\002b"; } }
39
+ .glyphicon-euro,
40
+ .glyphicon-eur { &:before { content: "\20ac"; } }
41
+ .glyphicon-minus { &:before { content: "\2212"; } }
42
+ .glyphicon-cloud { &:before { content: "\2601"; } }
43
+ .glyphicon-envelope { &:before { content: "\2709"; } }
44
+ .glyphicon-pencil { &:before { content: "\270f"; } }
45
+ .glyphicon-glass { &:before { content: "\e001"; } }
46
+ .glyphicon-music { &:before { content: "\e002"; } }
47
+ .glyphicon-search { &:before { content: "\e003"; } }
48
+ .glyphicon-heart { &:before { content: "\e005"; } }
49
+ .glyphicon-star { &:before { content: "\e006"; } }
50
+ .glyphicon-star-empty { &:before { content: "\e007"; } }
51
+ .glyphicon-user { &:before { content: "\e008"; } }
52
+ .glyphicon-film { &:before { content: "\e009"; } }
53
+ .glyphicon-th-large { &:before { content: "\e010"; } }
54
+ .glyphicon-th { &:before { content: "\e011"; } }
55
+ .glyphicon-th-list { &:before { content: "\e012"; } }
56
+ .glyphicon-ok { &:before { content: "\e013"; } }
57
+ .glyphicon-remove { &:before { content: "\e014"; } }
58
+ .glyphicon-zoom-in { &:before { content: "\e015"; } }
59
+ .glyphicon-zoom-out { &:before { content: "\e016"; } }
60
+ .glyphicon-off { &:before { content: "\e017"; } }
61
+ .glyphicon-signal { &:before { content: "\e018"; } }
62
+ .glyphicon-cog { &:before { content: "\e019"; } }
63
+ .glyphicon-trash { &:before { content: "\e020"; } }
64
+ .glyphicon-home { &:before { content: "\e021"; } }
65
+ .glyphicon-file { &:before { content: "\e022"; } }
66
+ .glyphicon-time { &:before { content: "\e023"; } }
67
+ .glyphicon-road { &:before { content: "\e024"; } }
68
+ .glyphicon-download-alt { &:before { content: "\e025"; } }
69
+ .glyphicon-download { &:before { content: "\e026"; } }
70
+ .glyphicon-upload { &:before { content: "\e027"; } }
71
+ .glyphicon-inbox { &:before { content: "\e028"; } }
72
+ .glyphicon-play-circle { &:before { content: "\e029"; } }
73
+ .glyphicon-repeat { &:before { content: "\e030"; } }
74
+ .glyphicon-refresh { &:before { content: "\e031"; } }
75
+ .glyphicon-list-alt { &:before { content: "\e032"; } }
76
+ .glyphicon-lock { &:before { content: "\e033"; } }
77
+ .glyphicon-flag { &:before { content: "\e034"; } }
78
+ .glyphicon-headphones { &:before { content: "\e035"; } }
79
+ .glyphicon-volume-off { &:before { content: "\e036"; } }
80
+ .glyphicon-volume-down { &:before { content: "\e037"; } }
81
+ .glyphicon-volume-up { &:before { content: "\e038"; } }
82
+ .glyphicon-qrcode { &:before { content: "\e039"; } }
83
+ .glyphicon-barcode { &:before { content: "\e040"; } }
84
+ .glyphicon-tag { &:before { content: "\e041"; } }
85
+ .glyphicon-tags { &:before { content: "\e042"; } }
86
+ .glyphicon-book { &:before { content: "\e043"; } }
87
+ .glyphicon-bookmark { &:before { content: "\e044"; } }
88
+ .glyphicon-print { &:before { content: "\e045"; } }
89
+ .glyphicon-camera { &:before { content: "\e046"; } }
90
+ .glyphicon-font { &:before { content: "\e047"; } }
91
+ .glyphicon-bold { &:before { content: "\e048"; } }
92
+ .glyphicon-italic { &:before { content: "\e049"; } }
93
+ .glyphicon-text-height { &:before { content: "\e050"; } }
94
+ .glyphicon-text-width { &:before { content: "\e051"; } }
95
+ .glyphicon-align-left { &:before { content: "\e052"; } }
96
+ .glyphicon-align-center { &:before { content: "\e053"; } }
97
+ .glyphicon-align-right { &:before { content: "\e054"; } }
98
+ .glyphicon-align-justify { &:before { content: "\e055"; } }
99
+ .glyphicon-list { &:before { content: "\e056"; } }
100
+ .glyphicon-indent-left { &:before { content: "\e057"; } }
101
+ .glyphicon-indent-right { &:before { content: "\e058"; } }
102
+ .glyphicon-facetime-video { &:before { content: "\e059"; } }
103
+ .glyphicon-picture { &:before { content: "\e060"; } }
104
+ .glyphicon-map-marker { &:before { content: "\e062"; } }
105
+ .glyphicon-adjust { &:before { content: "\e063"; } }
106
+ .glyphicon-tint { &:before { content: "\e064"; } }
107
+ .glyphicon-edit { &:before { content: "\e065"; } }
108
+ .glyphicon-share { &:before { content: "\e066"; } }
109
+ .glyphicon-check { &:before { content: "\e067"; } }
110
+ .glyphicon-move { &:before { content: "\e068"; } }
111
+ .glyphicon-step-backward { &:before { content: "\e069"; } }
112
+ .glyphicon-fast-backward { &:before { content: "\e070"; } }
113
+ .glyphicon-backward { &:before { content: "\e071"; } }
114
+ .glyphicon-play { &:before { content: "\e072"; } }
115
+ .glyphicon-pause { &:before { content: "\e073"; } }
116
+ .glyphicon-stop { &:before { content: "\e074"; } }
117
+ .glyphicon-forward { &:before { content: "\e075"; } }
118
+ .glyphicon-fast-forward { &:before { content: "\e076"; } }
119
+ .glyphicon-step-forward { &:before { content: "\e077"; } }
120
+ .glyphicon-eject { &:before { content: "\e078"; } }
121
+ .glyphicon-chevron-left { &:before { content: "\e079"; } }
122
+ .glyphicon-chevron-right { &:before { content: "\e080"; } }
123
+ .glyphicon-plus-sign { &:before { content: "\e081"; } }
124
+ .glyphicon-minus-sign { &:before { content: "\e082"; } }
125
+ .glyphicon-remove-sign { &:before { content: "\e083"; } }
126
+ .glyphicon-ok-sign { &:before { content: "\e084"; } }
127
+ .glyphicon-question-sign { &:before { content: "\e085"; } }
128
+ .glyphicon-info-sign { &:before { content: "\e086"; } }
129
+ .glyphicon-screenshot { &:before { content: "\e087"; } }
130
+ .glyphicon-remove-circle { &:before { content: "\e088"; } }
131
+ .glyphicon-ok-circle { &:before { content: "\e089"; } }
132
+ .glyphicon-ban-circle { &:before { content: "\e090"; } }
133
+ .glyphicon-arrow-left { &:before { content: "\e091"; } }
134
+ .glyphicon-arrow-right { &:before { content: "\e092"; } }
135
+ .glyphicon-arrow-up { &:before { content: "\e093"; } }
136
+ .glyphicon-arrow-down { &:before { content: "\e094"; } }
137
+ .glyphicon-share-alt { &:before { content: "\e095"; } }
138
+ .glyphicon-resize-full { &:before { content: "\e096"; } }
139
+ .glyphicon-resize-small { &:before { content: "\e097"; } }
140
+ .glyphicon-exclamation-sign { &:before { content: "\e101"; } }
141
+ .glyphicon-gift { &:before { content: "\e102"; } }
142
+ .glyphicon-leaf { &:before { content: "\e103"; } }
143
+ .glyphicon-fire { &:before { content: "\e104"; } }
144
+ .glyphicon-eye-open { &:before { content: "\e105"; } }
145
+ .glyphicon-eye-close { &:before { content: "\e106"; } }
146
+ .glyphicon-warning-sign { &:before { content: "\e107"; } }
147
+ .glyphicon-plane { &:before { content: "\e108"; } }
148
+ .glyphicon-calendar { &:before { content: "\e109"; } }
149
+ .glyphicon-random { &:before { content: "\e110"; } }
150
+ .glyphicon-comment { &:before { content: "\e111"; } }
151
+ .glyphicon-magnet { &:before { content: "\e112"; } }
152
+ .glyphicon-chevron-up { &:before { content: "\e113"; } }
153
+ .glyphicon-chevron-down { &:before { content: "\e114"; } }
154
+ .glyphicon-retweet { &:before { content: "\e115"; } }
155
+ .glyphicon-shopping-cart { &:before { content: "\e116"; } }
156
+ .glyphicon-folder-close { &:before { content: "\e117"; } }
157
+ .glyphicon-folder-open { &:before { content: "\e118"; } }
158
+ .glyphicon-resize-vertical { &:before { content: "\e119"; } }
159
+ .glyphicon-resize-horizontal { &:before { content: "\e120"; } }
160
+ .glyphicon-hdd { &:before { content: "\e121"; } }
161
+ .glyphicon-bullhorn { &:before { content: "\e122"; } }
162
+ .glyphicon-bell { &:before { content: "\e123"; } }
163
+ .glyphicon-certificate { &:before { content: "\e124"; } }
164
+ .glyphicon-thumbs-up { &:before { content: "\e125"; } }
165
+ .glyphicon-thumbs-down { &:before { content: "\e126"; } }
166
+ .glyphicon-hand-right { &:before { content: "\e127"; } }
167
+ .glyphicon-hand-left { &:before { content: "\e128"; } }
168
+ .glyphicon-hand-up { &:before { content: "\e129"; } }
169
+ .glyphicon-hand-down { &:before { content: "\e130"; } }
170
+ .glyphicon-circle-arrow-right { &:before { content: "\e131"; } }
171
+ .glyphicon-circle-arrow-left { &:before { content: "\e132"; } }
172
+ .glyphicon-circle-arrow-up { &:before { content: "\e133"; } }
173
+ .glyphicon-circle-arrow-down { &:before { content: "\e134"; } }
174
+ .glyphicon-globe { &:before { content: "\e135"; } }
175
+ .glyphicon-wrench { &:before { content: "\e136"; } }
176
+ .glyphicon-tasks { &:before { content: "\e137"; } }
177
+ .glyphicon-filter { &:before { content: "\e138"; } }
178
+ .glyphicon-briefcase { &:before { content: "\e139"; } }
179
+ .glyphicon-fullscreen { &:before { content: "\e140"; } }
180
+ .glyphicon-dashboard { &:before { content: "\e141"; } }
181
+ .glyphicon-paperclip { &:before { content: "\e142"; } }
182
+ .glyphicon-heart-empty { &:before { content: "\e143"; } }
183
+ .glyphicon-link { &:before { content: "\e144"; } }
184
+ .glyphicon-phone { &:before { content: "\e145"; } }
185
+ .glyphicon-pushpin { &:before { content: "\e146"; } }
186
+ .glyphicon-usd { &:before { content: "\e148"; } }
187
+ .glyphicon-gbp { &:before { content: "\e149"; } }
188
+ .glyphicon-sort { &:before { content: "\e150"; } }
189
+ .glyphicon-sort-by-alphabet { &:before { content: "\e151"; } }
190
+ .glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } }
191
+ .glyphicon-sort-by-order { &:before { content: "\e153"; } }
192
+ .glyphicon-sort-by-order-alt { &:before { content: "\e154"; } }
193
+ .glyphicon-sort-by-attributes { &:before { content: "\e155"; } }
194
+ .glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } }
195
+ .glyphicon-unchecked { &:before { content: "\e157"; } }
196
+ .glyphicon-expand { &:before { content: "\e158"; } }
197
+ .glyphicon-collapse-down { &:before { content: "\e159"; } }
198
+ .glyphicon-collapse-up { &:before { content: "\e160"; } }
199
+ .glyphicon-log-in { &:before { content: "\e161"; } }
200
+ .glyphicon-flash { &:before { content: "\e162"; } }
201
+ .glyphicon-log-out { &:before { content: "\e163"; } }
202
+ .glyphicon-new-window { &:before { content: "\e164"; } }
203
+ .glyphicon-record { &:before { content: "\e165"; } }
204
+ .glyphicon-save { &:before { content: "\e166"; } }
205
+ .glyphicon-open { &:before { content: "\e167"; } }
206
+ .glyphicon-saved { &:before { content: "\e168"; } }
207
+ .glyphicon-import { &:before { content: "\e169"; } }
208
+ .glyphicon-export { &:before { content: "\e170"; } }
209
+ .glyphicon-send { &:before { content: "\e171"; } }
210
+ .glyphicon-floppy-disk { &:before { content: "\e172"; } }
211
+ .glyphicon-floppy-saved { &:before { content: "\e173"; } }
212
+ .glyphicon-floppy-remove { &:before { content: "\e174"; } }
213
+ .glyphicon-floppy-save { &:before { content: "\e175"; } }
214
+ .glyphicon-floppy-open { &:before { content: "\e176"; } }
215
+ .glyphicon-credit-card { &:before { content: "\e177"; } }
216
+ .glyphicon-transfer { &:before { content: "\e178"; } }
217
+ .glyphicon-cutlery { &:before { content: "\e179"; } }
218
+ .glyphicon-header { &:before { content: "\e180"; } }
219
+ .glyphicon-compressed { &:before { content: "\e181"; } }
220
+ .glyphicon-earphone { &:before { content: "\e182"; } }
221
+ .glyphicon-phone-alt { &:before { content: "\e183"; } }
222
+ .glyphicon-tower { &:before { content: "\e184"; } }
223
+ .glyphicon-stats { &:before { content: "\e185"; } }
224
+ .glyphicon-sd-video { &:before { content: "\e186"; } }
225
+ .glyphicon-hd-video { &:before { content: "\e187"; } }
226
+ .glyphicon-subtitles { &:before { content: "\e188"; } }
227
+ .glyphicon-sound-stereo { &:before { content: "\e189"; } }
228
+ .glyphicon-sound-dolby { &:before { content: "\e190"; } }
229
+ .glyphicon-sound-5-1 { &:before { content: "\e191"; } }
230
+ .glyphicon-sound-6-1 { &:before { content: "\e192"; } }
231
+ .glyphicon-sound-7-1 { &:before { content: "\e193"; } }
232
+ .glyphicon-copyright-mark { &:before { content: "\e194"; } }
233
+ .glyphicon-registration-mark { &:before { content: "\e195"; } }
234
+ .glyphicon-cloud-download { &:before { content: "\e197"; } }
235
+ .glyphicon-cloud-upload { &:before { content: "\e198"; } }
236
+ .glyphicon-tree-conifer { &:before { content: "\e199"; } }
237
+ .glyphicon-tree-deciduous { &:before { content: "\e200"; } }
238
+ .glyphicon-cd { &:before { content: "\e201"; } }
239
+ .glyphicon-save-file { &:before { content: "\e202"; } }
240
+ .glyphicon-open-file { &:before { content: "\e203"; } }
241
+ .glyphicon-level-up { &:before { content: "\e204"; } }
242
+ .glyphicon-copy { &:before { content: "\e205"; } }
243
+ .glyphicon-paste { &:before { content: "\e206"; } }
244
+ // The following 2 Glyphicons are omitted for the time being because
245
+ // they currently use Unicode codepoints that are outside the
246
+ // Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle
247
+ // non-BMP codepoints in CSS string escapes, and thus can't display these two icons.
248
+ // Notably, the bug affects some older versions of the Android Browser.
249
+ // More info: https://github.com/twbs/bootstrap/issues/10106
250
+ // .glyphicon-door { &:before { content: "\1f6aa"; } }
251
+ // .glyphicon-key { &:before { content: "\1f511"; } }
252
+ .glyphicon-alert { &:before { content: "\e209"; } }
253
+ .glyphicon-equalizer { &:before { content: "\e210"; } }
254
+ .glyphicon-king { &:before { content: "\e211"; } }
255
+ .glyphicon-queen { &:before { content: "\e212"; } }
256
+ .glyphicon-pawn { &:before { content: "\e213"; } }
257
+ .glyphicon-bishop { &:before { content: "\e214"; } }
258
+ .glyphicon-knight { &:before { content: "\e215"; } }
259
+ .glyphicon-baby-formula { &:before { content: "\e216"; } }
260
+ .glyphicon-tent { &:before { content: "\26fa"; } }
261
+ .glyphicon-blackboard { &:before { content: "\e218"; } }
262
+ .glyphicon-bed { &:before { content: "\e219"; } }
263
+ .glyphicon-apple { &:before { content: "\f8ff"; } }
264
+ .glyphicon-erase { &:before { content: "\e221"; } }
265
+ .glyphicon-hourglass { &:before { content: "\231b"; } }
266
+ .glyphicon-lamp { &:before { content: "\e223"; } }
267
+ .glyphicon-duplicate { &:before { content: "\e224"; } }
268
+ .glyphicon-piggy-bank { &:before { content: "\e225"; } }
269
+ .glyphicon-scissors { &:before { content: "\e226"; } }
270
+ .glyphicon-bitcoin { &:before { content: "\e227"; } }
271
+ .glyphicon-btc { &:before { content: "\e227"; } }
272
+ .glyphicon-xbt { &:before { content: "\e227"; } }
273
+ .glyphicon-yen { &:before { content: "\00a5"; } }
274
+ .glyphicon-jpy { &:before { content: "\00a5"; } }
275
+ .glyphicon-ruble { &:before { content: "\20bd"; } }
276
+ .glyphicon-rub { &:before { content: "\20bd"; } }
277
+ .glyphicon-scale { &:before { content: "\e230"; } }
278
+ .glyphicon-ice-lolly { &:before { content: "\e231"; } }
279
+ .glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } }
280
+ .glyphicon-education { &:before { content: "\e233"; } }
281
+ .glyphicon-option-horizontal { &:before { content: "\e234"; } }
282
+ .glyphicon-option-vertical { &:before { content: "\e235"; } }
283
+ .glyphicon-menu-hamburger { &:before { content: "\e236"; } }
284
+ .glyphicon-modal-window { &:before { content: "\e237"; } }
285
+ .glyphicon-oil { &:before { content: "\e238"; } }
286
+ .glyphicon-grain { &:before { content: "\e239"; } }
287
+ .glyphicon-sunglasses { &:before { content: "\e240"; } }
288
+ .glyphicon-text-size { &:before { content: "\e241"; } }
289
+ .glyphicon-text-color { &:before { content: "\e242"; } }
290
+ .glyphicon-text-background { &:before { content: "\e243"; } }
291
+ .glyphicon-object-align-top { &:before { content: "\e244"; } }
292
+ .glyphicon-object-align-bottom { &:before { content: "\e245"; } }
293
+ .glyphicon-object-align-horizontal{ &:before { content: "\e246"; } }
294
+ .glyphicon-object-align-left { &:before { content: "\e247"; } }
295
+ .glyphicon-object-align-vertical { &:before { content: "\e248"; } }
296
+ .glyphicon-object-align-right { &:before { content: "\e249"; } }
297
+ .glyphicon-triangle-right { &:before { content: "\e250"; } }
298
+ .glyphicon-triangle-left { &:before { content: "\e251"; } }
299
+ .glyphicon-triangle-bottom { &:before { content: "\e252"; } }
300
+ .glyphicon-triangle-top { &:before { content: "\e253"; } }
301
+ .glyphicon-console { &:before { content: "\e254"; } }
302
+ .glyphicon-superscript { &:before { content: "\e255"; } }
303
+ .glyphicon-subscript { &:before { content: "\e256"; } }
304
+ .glyphicon-menu-left { &:before { content: "\e257"; } }
305
+ .glyphicon-menu-right { &:before { content: "\e258"; } }
306
+ .glyphicon-menu-down { &:before { content: "\e259"; } }
307
+ .glyphicon-menu-up { &:before { content: "\e260"; } }
@@ -0,0 +1,94 @@
1
+ //
2
+ // Grid system
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Container widths
7
+ //
8
+ // Set the container width, and override it for fixed navbars in media queries.
9
+
10
+ .container {
11
+ @include container-fixed;
12
+
13
+ @media (min-width: $screen-sm-min) {
14
+ width: $container-sm;
15
+ }
16
+ @media (min-width: $screen-md-min) {
17
+ width: $container-md;
18
+ }
19
+ @media (min-width: $screen-lg-min) {
20
+ width: $container-lg;
21
+ }
22
+ }
23
+
24
+
25
+ // Fluid container
26
+ //
27
+ // Utilizes the mixin meant for fixed width containers, but without any defined
28
+ // width for fluid, full width layouts.
29
+
30
+ .container-fluid {
31
+ @include container-fixed;
32
+ }
33
+
34
+
35
+ // Row
36
+ //
37
+ // Rows contain and clear the floats of your columns.
38
+
39
+ .row {
40
+ @include make-row;
41
+ }
42
+
43
+ .row-no-gutters {
44
+ margin-right: 0;
45
+ margin-left: 0;
46
+
47
+ [class*="col-"] {
48
+ padding-right: 0;
49
+ padding-left: 0;
50
+ }
51
+ }
52
+
53
+
54
+ // Columns
55
+ //
56
+ // Common styles for small and large grid columns
57
+
58
+ @include make-grid-columns;
59
+
60
+
61
+ // Extra small grid
62
+ //
63
+ // Columns, offsets, pushes, and pulls for extra small devices like
64
+ // smartphones.
65
+
66
+ @include make-grid(xs);
67
+
68
+
69
+ // Small grid
70
+ //
71
+ // Columns, offsets, pushes, and pulls for the small device range, from phones
72
+ // to tablets.
73
+
74
+ @media (min-width: $screen-sm-min) {
75
+ @include make-grid(sm);
76
+ }
77
+
78
+
79
+ // Medium grid
80
+ //
81
+ // Columns, offsets, pushes, and pulls for the desktop device range.
82
+
83
+ @media (min-width: $screen-md-min) {
84
+ @include make-grid(md);
85
+ }
86
+
87
+
88
+ // Large grid
89
+ //
90
+ // Columns, offsets, pushes, and pulls for the large desktop device range.
91
+
92
+ @media (min-width: $screen-lg-min) {
93
+ @include make-grid(lg);
94
+ }
@@ -0,0 +1,66 @@
1
+ //
2
+ // Labels
3
+ // --------------------------------------------------
4
+
5
+ .label {
6
+ display: inline;
7
+ padding: .2em .6em .3em;
8
+ font-size: 75%;
9
+ font-weight: 700;
10
+ line-height: 1;
11
+ color: $label-color;
12
+ text-align: center;
13
+ white-space: nowrap;
14
+ vertical-align: baseline;
15
+ border-radius: .25em;
16
+
17
+ // [converter] extracted a& to a.label
18
+
19
+ // Empty labels collapse automatically (not available in IE8)
20
+ &:empty {
21
+ display: none;
22
+ }
23
+
24
+ // Quick fix for labels in buttons
25
+ .btn & {
26
+ position: relative;
27
+ top: -1px;
28
+ }
29
+ }
30
+
31
+ // Add hover effects, but only for links
32
+ a.label {
33
+ &:hover,
34
+ &:focus {
35
+ color: $label-link-hover-color;
36
+ text-decoration: none;
37
+ cursor: pointer;
38
+ }
39
+ }
40
+
41
+ // Colors
42
+ // Contextual variations (linked labels get darker on :hover)
43
+
44
+ .label-default {
45
+ @include label-variant($label-default-bg);
46
+ }
47
+
48
+ .label-primary {
49
+ @include label-variant($label-primary-bg);
50
+ }
51
+
52
+ .label-success {
53
+ @include label-variant($label-success-bg);
54
+ }
55
+
56
+ .label-info {
57
+ @include label-variant($label-info-bg);
58
+ }
59
+
60
+ .label-warning {
61
+ @include label-variant($label-warning-bg);
62
+ }
63
+
64
+ .label-danger {
65
+ @include label-variant($label-danger-bg);
66
+ }
@@ -0,0 +1,66 @@
1
+ .media {
2
+ // Proper spacing between instances of .media
3
+ margin-top: 15px;
4
+
5
+ &:first-child {
6
+ margin-top: 0;
7
+ }
8
+ }
9
+
10
+ .media,
11
+ .media-body {
12
+ overflow: hidden;
13
+ zoom: 1;
14
+ }
15
+
16
+ .media-body {
17
+ width: 10000px;
18
+ }
19
+
20
+ .media-object {
21
+ display: block;
22
+
23
+ // Fix collapse in webkit from max-width: 100% and display: table-cell.
24
+ &.img-thumbnail {
25
+ max-width: none;
26
+ }
27
+ }
28
+
29
+ .media-right,
30
+ .media > .pull-right {
31
+ padding-left: 10px;
32
+ }
33
+
34
+ .media-left,
35
+ .media > .pull-left {
36
+ padding-right: 10px;
37
+ }
38
+
39
+ .media-left,
40
+ .media-right,
41
+ .media-body {
42
+ display: table-cell;
43
+ vertical-align: top;
44
+ }
45
+
46
+ .media-middle {
47
+ vertical-align: middle;
48
+ }
49
+
50
+ .media-bottom {
51
+ vertical-align: bottom;
52
+ }
53
+
54
+ // Reset margins on headings for tighter default spacing
55
+ .media-heading {
56
+ margin-top: 0;
57
+ margin-bottom: 5px;
58
+ }
59
+
60
+ // Media list variation
61
+ //
62
+ // Undo default ul/ol styles
63
+ .media-list {
64
+ padding-left: 0;
65
+ list-style: none;
66
+ }
@@ -0,0 +1,37 @@
1
+ // Mixins
2
+ // --------------------------------------------------
3
+
4
+ // Utilities
5
+ @import "mixins/hide-text";
6
+ @import "mixins/opacity";
7
+ @import "mixins/image";
8
+ @import "mixins/labels";
9
+ @import "mixins/reset-filter";
10
+ @import "mixins/resize";
11
+ @import "mixins/responsive-visibility";
12
+ @import "mixins/size";
13
+ @import "mixins/tab-focus";
14
+ @import "mixins/text-emphasis";
15
+ @import "mixins/text-overflow";
16
+ @import "mixins/vendor-prefixes";
17
+
18
+ // Components
19
+ @import "mixins/alerts";
20
+ @import "mixins/buttons";
21
+ @import "mixins/panels";
22
+ @import "mixins/pagination";
23
+ @import "mixins/nav-divider";
24
+ @import "mixins/forms";
25
+ @import "mixins/table-row";
26
+
27
+ // Skins
28
+ @import "mixins/background-variant";
29
+ @import "mixins/border-radius";
30
+ @import "mixins/gradients";
31
+
32
+ // Layout
33
+ @import "mixins/clearfix";
34
+ @import "mixins/center-block";
35
+ @import "mixins/nav-vertical-align";
36
+ @import "mixins/grid-framework";
37
+ @import "mixins/grid";