├── CNAME ├── app ├── css │ └── ui │ │ └── submit │ │ ├── reddit-post.css │ │ └── common.css ├── templates │ ├── categories-overview.html │ ├── categories │ │ ├── series.html │ │ ├── paper.html │ │ ├── reddit-thread.html │ │ ├── reddit-post.html │ │ ├── snippet.html │ │ ├── article.html │ │ ├── package.html │ │ └── presentation.html │ ├── how-do-i │ │ └── item.html │ ├── tags │ │ ├── categorylist.html │ │ └── taglist.html │ ├── permissions.html │ ├── tag.html │ ├── handlebars │ │ ├── permission-file.handlebars │ │ ├── reddit-thread.handlebars │ │ ├── snippet.handlebars │ │ ├── stack-exchange.handlebars │ │ ├── paper.handlebars │ │ ├── github.handlebars │ │ ├── reddit-post.handlebars │ │ ├── series.handlebars │ │ ├── package.handlebars │ │ ├── article.handlebars │ │ └── presentation.handlebars │ ├── content.html │ ├── content │ │ ├── series │ │ │ └── presentation.html │ │ ├── reddit-thread.html │ │ ├── how-do-i │ │ │ ├── advanced.html │ │ │ └── simple.html │ │ ├── snippet.html │ │ ├── paper.html │ │ ├── reddit-post.html │ │ ├── article.html │ │ ├── presentation.html │ │ ├── package.html │ │ └── series.html │ ├── filter │ │ └── content-data.html │ ├── libraries.html │ ├── categories.html │ └── submit.html ├── vendor │ ├── jquery-sortable │ │ ├── css │ │ │ ├── _base.sass │ │ │ ├── vendor.css │ │ │ ├── example.css │ │ │ └── jquery-sortable.css.sass │ │ └── img │ │ │ ├── glyphicons-halflings.png │ │ │ └── glyphicons-halflings-white.png │ ├── lightslider │ │ └── img │ │ │ └── controls.png │ ├── fontawesome │ │ └── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ ├── bootstrap-datepicker │ │ └── locales │ │ │ ├── bootstrap-datepicker.kr.min.js │ │ │ ├── bootstrap-datepicker.ja.min.js │ │ │ ├── bootstrap-datepicker.zh-TW.min.js │ │ │ ├── bootstrap-datepicker.ko.min.js │ │ │ ├── bootstrap-datepicker.he.min.js │ │ │ ├── bootstrap-datepicker.zh-CN.min.js │ │ │ ├── bootstrap-datepicker.bg.min.js │ │ │ ├── bootstrap-datepicker.cy.min.js │ │ │ ├── bootstrap-datepicker.sw.min.js │ │ │ ├── bootstrap-datepicker.sl.min.js │ │ │ ├── bootstrap-datepicker.sq.min.js │ │ │ ├── bootstrap-datepicker.ms.min.js │ │ │ ├── bootstrap-datepicker.da.min.js │ │ │ ├── bootstrap-datepicker.id.min.js │ │ │ ├── bootstrap-datepicker.kk.min.js │ │ │ ├── bootstrap-datepicker.eu.min.js │ │ │ ├── bootstrap-datepicker.hr.min.js │ │ │ ├── bootstrap-datepicker.nb.min.js │ │ │ ├── bootstrap-datepicker.az.min.js │ │ │ ├── bootstrap-datepicker.mk.min.js │ │ │ ├── bootstrap-datepicker.mn.min.js │ │ │ ├── bootstrap-datepicker.th.min.js │ │ │ ├── bootstrap-datepicker.is.min.js │ │ │ ├── bootstrap-datepicker.rs.min.js │ │ │ ├── bootstrap-datepicker.sr.min.js │ │ │ ├── bootstrap-datepicker.bs.min.js │ │ │ ├── bootstrap-datepicker.fo.min.js │ │ │ ├── bootstrap-datepicker.lv.min.js │ │ │ ├── bootstrap-datepicker.ro.min.js │ │ │ ├── bootstrap-datepicker.tr.min.js │ │ │ ├── bootstrap-datepicker.cs.min.js │ │ │ ├── bootstrap-datepicker.fa.min.js │ │ │ ├── bootstrap-datepicker.rs-latin.min.js │ │ │ ├── bootstrap-datepicker.sk.min.js │ │ │ ├── bootstrap-datepicker.sr-latin.min.js │ │ │ ├── bootstrap-datepicker.sv.min.js │ │ │ ├── bootstrap-datepicker.ar.min.js │ │ │ ├── bootstrap-datepicker.gl.min.js │ │ │ ├── bootstrap-datepicker.no.min.js │ │ │ ├── bootstrap-datepicker.me.min.js │ │ │ ├── bootstrap-datepicker.pt.min.js │ │ │ ├── bootstrap-datepicker.ru.min.js │ │ │ ├── bootstrap-datepicker.pt-BR.min.js │ │ │ ├── bootstrap-datepicker.eo.min.js │ │ │ ├── bootstrap-datepicker.it-CH.min.js │ │ │ ├── bootstrap-datepicker.uk.min.js │ │ │ ├── bootstrap-datepicker.vi.min.js │ │ │ ├── bootstrap-datepicker.ca.min.js │ │ │ ├── bootstrap-datepicker.es.min.js │ │ │ ├── bootstrap-datepicker.fr-CH.min.js │ │ │ ├── bootstrap-datepicker.hy.min.js │ │ │ ├── bootstrap-datepicker.ka.min.js │ │ │ ├── bootstrap-datepicker.kh.min.js │ │ │ ├── bootstrap-datepicker.nl.min.js │ │ │ ├── bootstrap-datepicker.de.min.js │ │ │ ├── bootstrap-datepicker.hu.min.js │ │ │ ├── bootstrap-datepicker.en-AU.min.js │ │ │ ├── bootstrap-datepicker.en-GB.min.js │ │ │ ├── bootstrap-datepicker.fi.min.js │ │ │ ├── bootstrap-datepicker.it.min.js │ │ │ ├── bootstrap-datepicker.el.min.js │ │ │ ├── bootstrap-datepicker.et.min.js │ │ │ ├── bootstrap-datepicker.nl-BE.min.js │ │ │ ├── bootstrap-datepicker.fr.min.js │ │ │ ├── bootstrap-datepicker.pl.min.js │ │ │ └── bootstrap-datepicker.lt.min.js │ ├── select2 │ │ └── js │ │ │ └── i18n │ │ │ ├── zh-TW.js │ │ │ ├── zh-CN.js │ │ │ ├── az.js │ │ │ ├── fi.js │ │ │ ├── ja.js │ │ │ ├── hu.js │ │ │ ├── tr.js │ │ │ ├── ko.js │ │ │ ├── th.js │ │ │ ├── id.js │ │ │ ├── vi.js │ │ │ ├── is.js │ │ │ ├── ar.js │ │ │ ├── de.js │ │ │ ├── et.js │ │ │ ├── sv.js │ │ │ ├── bg.js │ │ │ ├── km.js │ │ │ ├── nb.js │ │ │ ├── ms.js │ │ │ ├── gl.js │ │ │ ├── da.js │ │ │ ├── en.js │ │ │ ├── he.js │ │ │ ├── fa.js │ │ │ ├── hi.js │ │ │ ├── hr.js │ │ │ ├── mk.js │ │ │ ├── eu.js │ │ │ ├── pt-BR.js │ │ │ ├── pt.js │ │ │ ├── lv.js │ │ │ ├── es.js │ │ │ ├── ca.js │ │ │ ├── it.js │ │ │ ├── fr.js │ │ │ ├── ro.js │ │ │ ├── nl.js │ │ │ ├── lt.js │ │ │ ├── pl.js │ │ │ ├── el.js │ │ │ ├── sr.js │ │ │ ├── uk.js │ │ │ ├── sr-Cyrl.js │ │ │ ├── ru.js │ │ │ ├── sk.js │ │ │ └── cs.js │ └── strip-yaml-header │ │ └── strip-yaml-header.js ├── images │ ├── permalink.png │ ├── haskell-logo.png │ └── browserstack-badge.png ├── content │ ├── how-do-i │ │ ├── advanced │ │ │ └── read-a-file-from-disk.md │ │ └── simple │ │ │ └── read-a-file-from-disk.md │ ├── article │ │ ├── data-proxy.md │ │ ├── nix-and-haskell-in-production.md │ │ ├── 2018-haskell-survey-results.md │ │ ├── memoization-in-haskell.md │ │ ├── opengl-on-froid.md │ │ ├── the-design-and-use-of-quickcheck.md │ │ ├── expressive-types-not-oppressive-types.md │ │ ├── ballast-a-library-for-talking-to-shipwire.md │ │ ├── fun-with-hint.md │ │ ├── introduction-to-the-indexed-privilege-monad.md │ │ ├── fullstack-haskell-reflex-and-servant.md │ │ ├── lenses-embody-products-prisms-embody-sums.md │ │ ├── type-level-functions-using-closed-type-families.md │ │ ├── compiling-lisp-to-javascript-from-scratch-in-350-loc.md │ │ ├── natural-transformations-in-servant.md │ │ ├── haskellers-com.md │ │ ├── speeding-up-a-distributed-computation-in-haskell.md │ │ ├── beginners-guide-to-megaparsec.md │ │ ├── monads-made-difficult.md │ │ ├── nginx-haskell-module-labeled-media-routing-example.md │ │ ├── safe-prelude-a-thought-experiment.md │ │ └── lazy-io-and-graphs-winterfell-to-kings-landing.md │ ├── package │ │ └── pandoc.markdown │ ├── presentation │ │ ├── presentation-ldn-functionals-1-fil-mackay-pure-data.md │ │ ├── presentation-web-dev-with-fn.md │ │ ├── presentation-how-to-bake-how-to-bake-pi-reflections-on-making-abstract-math-palatable.md │ │ ├── presentation-ldn-functionals-7-sebastian-funk-why-functional-programming-doesn-t-matter.md │ │ ├── presentation-languages-we-love.markdown │ │ ├── frp-browser-programming-with-reflex.md │ │ ├── presentation--type-providers-and-error-reflection-in-idris.md │ │ ├── presentation-chaos-engineering-at-jet.md │ │ ├── presentation--fundamentals-of-dependent-type-theory.md │ │ ├── presentation--robots-on-haskell.md │ │ ├── presentation--fun-with-GHCJSi.md │ │ ├── presentation--keeping-front-end-development-simple-with-react.markdown │ │ ├── writing-production-quality-code.md │ │ ├── presentation--verdict-reified-refinement.markdown │ │ ├── presentation-reflex-practical-functional-reactive-programming-frp-in-haskell.md │ │ ├── free-delivery.md │ │ ├── presentation-add-a-type-parameter-one-simple-design-change-a-panoply-of-outcomes.md │ │ ├── presentation--synchronisation-und-immutability.markdown │ │ ├── presentation--advanced-functional-programming-in-industry.markdown │ │ ├── adventure-with-types-in-haskell-pt1.md │ │ ├── adventure-with-types-in-haskell-pt2.md │ │ ├── presentation-a-sensible-intro-to-frp.md │ │ ├── adventure-with-types-in-haskell-pt3.md │ │ ├── adventure-with-types-in-haskell-pt4.md │ │ ├── distributed-programming-in-haskell.md │ │ ├── functional-reactive-programming-refactored.md │ │ ├── causal-commutative-arrows-revisited.md │ │ ├── presentation-functional-programming-at-lumiguide.md │ │ ├── desugaring-haskells-do-notation-into-applicative-operations.md │ │ ├── how-to-twist-pointers-without-breaking-them.md │ │ ├── fitspec-refining-property-sets-for-functional-testing.md │ │ ├── presentation--analyzing-programs-with-z3.md │ │ ├── experience-report-developing-high-perf-http-server-in-haskell.md │ │ ├── presentation-a-taste-of-haskell-part-1.md │ │ ├── presentation-a-taste-of-haskell-part-2.md │ │ ├── the-intersection-of-machine-learning-types-and-testing.markdown │ │ ├── pattern-synonyms.md │ │ ├── presentation-dynamic-typing-in-ghc.md │ │ ├── presentation-cryptography-and-verification-with-cryptol.md │ │ ├── presentation--applications-of-datatype-generic-programming-in-haskell.markdown │ │ ├── quickfuzz-an-automatic-random-fuzzer-for-common-file-formats.md │ │ └── presentation--elm-im-produktiven-einsatz.markdown │ ├── paper │ │ ├── paper-adventures-in-three-monads.md │ │ ├── paper-gadts-meet-their-match.md │ │ └── theorem-proving-for-all.md │ ├── reddit-post │ │ └── reddit-post-t1_d2hru95.md │ └── series │ │ ├── conference-compose-2015.md │ │ ├── adventure-with-types-series.md │ │ ├── conference-bob-2015.md │ │ ├── conference-compose-2016.md │ │ └── conference-icfp-2016.md ├── js │ ├── datepickers.js │ ├── paper-lookup.js │ ├── series-lookup.js │ ├── article-lookup.js │ ├── snippet-lookup.js │ ├── presentation-lookup.js │ ├── permission-file-lookup.js │ ├── getbaseroot.js │ ├── conferences.js │ ├── metadata.js │ ├── article.js │ ├── querystring.js │ ├── series-item-picker.js │ ├── series-types.js │ ├── dropdowns.js │ ├── stack-exchange-lookup.js │ └── github-lookup.js ├── ui │ └── elements │ │ ├── markdown-support.html │ │ ├── source.html │ │ ├── title.html │ │ ├── title-paper.html │ │ ├── authors-paper.html │ │ ├── url-article.html │ │ ├── url-paper.html │ │ ├── authors-article.html │ │ ├── authors-presentation.html │ │ ├── conference-presentation.html │ │ ├── date-permission-file.html │ │ ├── title-presentation.html │ │ ├── url-video-presentation.html │ │ ├── url-slides-presentation.html │ │ ├── date-published.html │ │ ├── dates-series.html │ │ ├── abstract-paper.html │ │ ├── entity-permission-file.html │ │ ├── type-article.html │ │ ├── body-permission-file.html │ │ ├── description-presentation.html │ │ ├── description-article.html │ │ ├── type-series.html │ │ ├── metadata.html │ │ └── permission-file.html ├── permissions │ └── article │ │ └── beerend_lauwers.md ├── files │ └── presentation │ │ └── presentation--improving-type-error-localization-for-languages-with-type-inference.pdf ├── copy-and-run-site.sh └── temptest.hs ├── Setup.hs ├── .gitignore ├── test └── Spec.hs ├── copy-exe.bat ├── stack.yaml ├── appveyor.yml ├── Makefile ├── src └── HaskAnything │ └── Internal │ ├── Extra.hs │ └── Content.hs └── .circleci └── config.yml /CNAME: -------------------------------------------------------------------------------- 1 | haskanything.com -------------------------------------------------------------------------------- /app/css/ui/submit/reddit-post.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/templates/categories-overview.html: -------------------------------------------------------------------------------- 1 | $allcategories$ -------------------------------------------------------------------------------- /Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /app/vendor/jquery-sortable/css/_base.sass: -------------------------------------------------------------------------------- 1 | @import bootstrap 2 | -------------------------------------------------------------------------------- /app/templates/categories/series.html: -------------------------------------------------------------------------------- 1 | A series is a list of content. -------------------------------------------------------------------------------- /app/templates/categories/paper.html: -------------------------------------------------------------------------------- 1 | A paper is an academic work. -------------------------------------------------------------------------------- /app/templates/how-do-i/item.html: -------------------------------------------------------------------------------- 1 |
  • $title$ ?
  • -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .stack-work/* 2 | app/_cache 3 | app/_site 4 | app/site.exe 5 | -------------------------------------------------------------------------------- /test/Spec.hs: -------------------------------------------------------------------------------- 1 | main :: IO () 2 | main = putStrLn "Test suite not yet implemented" 3 | -------------------------------------------------------------------------------- /app/templates/categories/reddit-thread.html: -------------------------------------------------------------------------------- 1 | A Reddit thread is a hierarchy of Reddit posts. -------------------------------------------------------------------------------- /app/templates/categories/reddit-post.html: -------------------------------------------------------------------------------- 1 | A Reddit post is a markdown comment to a Reddit thread. -------------------------------------------------------------------------------- /copy-exe.bat: -------------------------------------------------------------------------------- 1 | copy .stack-work\install\c8876feb\bin\hask-anything-exe.exe app\site.exe 2 | pause -------------------------------------------------------------------------------- /app/templates/tags/categorylist.html: -------------------------------------------------------------------------------- 1 |
  • $categoryName$
  • -------------------------------------------------------------------------------- /app/images/permalink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/images/permalink.png -------------------------------------------------------------------------------- /app/vendor/jquery-sortable/css/vendor.css: -------------------------------------------------------------------------------- 1 | //= require "bootstrap-switch.css" 2 | //= require "coderay.css" 3 | -------------------------------------------------------------------------------- /app/images/haskell-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/images/haskell-logo.png -------------------------------------------------------------------------------- /app/templates/permissions.html: -------------------------------------------------------------------------------- 1 |

    Permission document of $entity$

    2 |

    Date: $date$

    3 | 4 | $body$ 5 | -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- 1 | flags: {} 2 | packages: 3 | - '.' 4 | extra-deps: 5 | - Win32-notify-0.3.0.1 6 | resolver: lts-12.13 7 | -------------------------------------------------------------------------------- /app/images/browserstack-badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/images/browserstack-badge.png -------------------------------------------------------------------------------- /app/vendor/lightslider/img/controls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/vendor/lightslider/img/controls.png -------------------------------------------------------------------------------- /app/templates/categories/snippet.html: -------------------------------------------------------------------------------- 1 | A snippet is a piece of (Haskell) code. 2 | 3 | Submit a new snippet -------------------------------------------------------------------------------- /app/vendor/fontawesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/vendor/fontawesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /app/content/how-do-i/advanced/read-a-file-from-disk.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: read a file from disk 3 | --- 4 | 5 | The advanced way is to use pipes or conduit. Expand. -------------------------------------------------------------------------------- /app/templates/categories/article.html: -------------------------------------------------------------------------------- 1 | An article can be a blog post, a tutorial, an opinion piece... It is essentially a piece of text with some metadata. -------------------------------------------------------------------------------- /app/templates/tag.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /app/vendor/fontawesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/vendor/fontawesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /app/vendor/fontawesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/vendor/fontawesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /app/vendor/fontawesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/vendor/fontawesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /app/vendor/fontawesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/vendor/fontawesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /app/vendor/jquery-sortable/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/vendor/jquery-sortable/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /app/templates/categories/package.html: -------------------------------------------------------------------------------- 1 | A package is a collection of Haskell code that can be installed. 2 | 3 | Submit a new package -------------------------------------------------------------------------------- /app/templates/handlebars/permission-file.handlebars: -------------------------------------------------------------------------------- 1 | --- 2 | entity: "{{{entity-permission-file}}}" 3 | date: {{{date-permission-file}}} 4 | --- 5 | 6 | {{{body-permission-file}}} 7 | -------------------------------------------------------------------------------- /app/vendor/jquery-sortable/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/vendor/jquery-sortable/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /app/templates/handlebars/reddit-thread.handlebars: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{{title}}}" 3 | author: {{{author}}} 4 | unique_id: {{{unique_id}}} 5 | tags: {{{metadata-tags}}} 6 | --- 7 | 8 | {{{body}}} 9 | -------------------------------------------------------------------------------- /app/templates/categories/presentation.html: -------------------------------------------------------------------------------- 1 | A presentation is a video recording of a presentation along with a slide deck. 2 | 3 | Submit a new presentation -------------------------------------------------------------------------------- /app/js/datepickers.js: -------------------------------------------------------------------------------- 1 | function loadDatepickers() { 2 | jQuery('#dates-series').datepicker({ 3 | multidate: true, 4 | format: "yyyy-mm-dd" 5 | }); 6 | } 7 | 8 | jQuery(document).ready( loadDatepickers ); 9 | -------------------------------------------------------------------------------- /app/ui/elements/markdown-support.html: -------------------------------------------------------------------------------- 1 | This field supports Markdown. Use the Preview button to see how your text will look like. 2 | -------------------------------------------------------------------------------- /app/content/how-do-i/simple/read-a-file-from-disk.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: read a file from disk 3 | --- 4 | 5 | Use `readFile`: 6 | 7 | ```Haskell 8 | main = do 9 | contents <- readFile "file.txt" 10 | putStr contents 11 | ``` 12 | -------------------------------------------------------------------------------- /app/js/paper-lookup.js: -------------------------------------------------------------------------------- 1 | function generateFileTitle(templateName) { 2 | var str = jQuery('#title-paper').val(); 3 | 4 | if (!str) { 5 | return; 6 | } 7 | 8 | return templateName + "-" + str.replace(/\W+/g, '-').toLowerCase() + ".md"; 9 | } -------------------------------------------------------------------------------- /app/js/series-lookup.js: -------------------------------------------------------------------------------- 1 | function generateFileTitle(templateName) { 2 | var str = jQuery('#title').val(); 3 | 4 | if (!str) { 5 | return; 6 | } 7 | 8 | return templateName + "-" + str.replace(/\W+/g, '-').toLowerCase() + ".md"; 9 | } 10 | -------------------------------------------------------------------------------- /app/templates/content.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 6 |
    7 |
    8 | 9 | $body$ -------------------------------------------------------------------------------- /app/js/article-lookup.js: -------------------------------------------------------------------------------- 1 | function generateFileTitle(templateName) { 2 | var str = jQuery('.title-suggestion').val(); 3 | 4 | if (!str) { 5 | return; 6 | } 7 | 8 | return templateName + "-" + str.replace(/\W+/g, '-').toLowerCase() + ".md"; 9 | } -------------------------------------------------------------------------------- /app/js/snippet-lookup.js: -------------------------------------------------------------------------------- 1 | function generateFileTitle(templateName) { 2 | var str = jQuery('#snippet-title').val(); 3 | 4 | if (!str) { 5 | return; 6 | } 7 | 8 | return templateName + "-" + str.replace(/\W+/g, '-').toLowerCase() + ".md"; 9 | } -------------------------------------------------------------------------------- /app/permissions/article/beerend_lauwers.md: -------------------------------------------------------------------------------- 1 | --- 2 | entity: Beerend Lauwers 3 | date: 2016-10-19 4 | --- 5 | 6 | I, Beerend Lauwers, give the permission to: 7 | 8 | * distribute all articles that are available on http://www.beerendlauwers.be on http://haskanything.com/. 9 | -------------------------------------------------------------------------------- /app/ui/elements/source.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 |
    8 |
    -------------------------------------------------------------------------------- /app/files/presentation/presentation--improving-type-error-localization-for-languages-with-type-inference.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beerendlauwers/HaskAnything/HEAD/app/files/presentation/presentation--improving-type-error-localization-for-languages-with-type-inference.pdf -------------------------------------------------------------------------------- /app/js/presentation-lookup.js: -------------------------------------------------------------------------------- 1 | function generateFileTitle(templateName) { 2 | var str = jQuery('.title-suggestion').val(); 3 | 4 | if (!str) { 5 | return; 6 | } 7 | 8 | return templateName + "-" + str.replace(/\W+/g, '-').toLowerCase() + ".md"; 9 | } -------------------------------------------------------------------------------- /app/js/permission-file-lookup.js: -------------------------------------------------------------------------------- 1 | function generateFileTitle(templateName) { 2 | var str = jQuery('.title-suggestion').val(); 3 | 4 | if (!str) { 5 | return; 6 | } 7 | 8 | return templateName + "-" + str.replace(/\W+/g, '-').toLowerCase() + ".md"; 9 | } -------------------------------------------------------------------------------- /app/templates/content/series/presentation.html: -------------------------------------------------------------------------------- 1 |
  • 2 | 3 | 4 |
    5 | $title$ 6 |
    7 |
    8 |
  • 9 | -------------------------------------------------------------------------------- /app/templates/handlebars/snippet.handlebars: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{{snippet-title}}}" 3 | tags: 4 | {{#each metadata-tags}} 5 | - "{{{this}}}" 6 | {{/each}} 7 | libraries: 8 | {{#each metadata-libraries}} 9 | - "{{{this}}}" 10 | {{/each}} 11 | --- 12 | 13 | {{{snippet-content}}} 14 | -------------------------------------------------------------------------------- /app/ui/elements/title.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 |
    8 |
    9 | -------------------------------------------------------------------------------- /app/templates/filter/content-data.html: -------------------------------------------------------------------------------- 1 | $for(tagData)$ 2 | { 3 | "title": "$title$", 4 | "tags": $tags$, 5 | "authors": $authors$, 6 | "categories": $category$, 7 | "libraries": $libraries$, 8 | "url": "$url$" 9 | } 10 | $sep$, 11 | $endfor$ 12 | -------------------------------------------------------------------------------- /app/templates/handlebars/stack-exchange.handlebars: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{{snippet-title}}}" 3 | tags: 4 | {{#each metadata-tags}} 5 | - "{{{this}}}" 6 | {{/each}} 7 | libraries: 8 | {{#each metadata-libraries}} 9 | - "{{{this}}}" 10 | {{/each}} 11 | --- 12 | 13 | {{{snippet-content}}} 14 | -------------------------------------------------------------------------------- /app/copy-and-run-site.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd ~/HaskAnything/app 3 | stack build 4 | cd ~/HaskAnything/.stack-work/install/x86_64-linux/lts-6.15/7.10.3/bin/ 5 | cp ./hask-anything-exe ~/HaskAnything/app/hask-anything-exe 6 | cd ~/HaskAnything/app 7 | ./hask-anything-exe rebuild 8 | ./hask-anything-exe watch 9 | -------------------------------------------------------------------------------- /app/ui/elements/title-paper.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | Title of the paper. 8 |
    9 |
    -------------------------------------------------------------------------------- /app/ui/elements/authors-paper.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | Authors of the paper. 8 |
    9 |
    -------------------------------------------------------------------------------- /app/templates/handlebars/paper.handlebars: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{{title-paper}}}" 3 | paper-url: {{{url-paper}}} 4 | authors: 5 | - {{{authors-paper}}} 6 | tags: 7 | {{#each metadata-tags}} 8 | - "{{{this}}}" 9 | {{/each}} 10 | libraries: 11 | {{#each metadata-libraries}} 12 | - "{{{this}}}" 13 | {{/each}} 14 | --- 15 | 16 | {{{abstract-paper}}} 17 | -------------------------------------------------------------------------------- /app/ui/elements/url-article.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | URL to the original source. 8 |
    9 |
    10 | -------------------------------------------------------------------------------- /app/ui/elements/url-paper.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | URL to the PDF or PS file. 8 |
    9 |
    10 | -------------------------------------------------------------------------------- /app/js/getbaseroot.js: -------------------------------------------------------------------------------- 1 | function getBaseRoot() { 2 | var href = document.location.href; 3 | var split = href.split('/'); 4 | if ( R.contains("_site")(split) ) { 5 | return R.join('/')( R.takeWhile( R.compose( R.not, R.equals("_site") ) , split) ) + "/_site/"; 6 | } 7 | else { 8 | return window.location.origin; 9 | } 10 | } -------------------------------------------------------------------------------- /app/templates/libraries.html: -------------------------------------------------------------------------------- 1 |
    2 |

    $title$

    3 |
    4 |
    5 | $for(alllibraries)$ 6 |
    7 | $title$ 8 | $tags$ 9 |
    10 | $endfor$ 11 |
    -------------------------------------------------------------------------------- /app/content/article/data-proxy.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Data.Proxy" 3 | date: 2017-01-15 4 | permission-file: 5 | url: "http://kseo.github.io//posts/2017-01-19-fun-with-hint.html" 6 | authors: 7 | - Kwang Yul Seo 8 | type: "article" 9 | tags: 10 | - "Proxy" 11 | libraries: 12 | --- 13 | 14 | An article about the `Data.Proxy` module and what a `Proxy` value is. 15 | -------------------------------------------------------------------------------- /app/js/conferences.js: -------------------------------------------------------------------------------- 1 | function loadConferences() { 2 | var dropdowns = [ 3 | ["../../json/conferences.json",'#conference-presentation'] 4 | ]; 5 | 6 | var settings = { 7 | tags: true, 8 | tokenSeparators: [','], 9 | maximumSelectionLength: 1 10 | }; 11 | 12 | loadDropdowns( dropdowns, settings ); 13 | } 14 | 15 | loadConferences(); 16 | -------------------------------------------------------------------------------- /app/templates/categories.html: -------------------------------------------------------------------------------- 1 |
    2 | $body$ 3 |

    4 |
    5 |
    6 | $for(allcategories)$ 7 |
    8 | $title$ 9 | $tags$ 10 |
    11 | $endfor$ 12 |
    -------------------------------------------------------------------------------- /app/ui/elements/authors-article.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | Author(s) of the article. 8 |
    9 |
    10 | -------------------------------------------------------------------------------- /app/templates/content/reddit-thread.html: -------------------------------------------------------------------------------- 1 |
    2 | 3 | $if(author)$ 4 | by $author$ 5 | $endif$ 6 |
    7 | 8 |
    9 | $if(tags)$ 10 | Tags: $tags$ 11 | $endif$ 12 |
    13 | 14 |
    15 | $if(category)$ 16 | Category: $category$ 17 | $endif$ 18 |
    19 | 20 | $body$ 21 | -------------------------------------------------------------------------------- /app/templates/handlebars/github.handlebars: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{{title-paper}}}" 3 | paper-url: {{{url-paper}}} 4 | authors-paper: 5 | - {{{authors-paper}}} 6 | tags: 7 | {{#each metadata-tags}} 8 | - "{{{this}}}" 9 | {{/each}} 10 | libraries: 11 | {{#each metadata-libraries}} 12 | - "{{{this}}}" 13 | {{/each}} 14 | --- 15 | 16 | TODO: finish 17 | 18 | {{{abstract-paper}}} 19 | -------------------------------------------------------------------------------- /app/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.kr={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]}}(jQuery); -------------------------------------------------------------------------------- /app/ui/elements/authors-presentation.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | Author(s) of the presentation. 8 |
    9 |
    -------------------------------------------------------------------------------- /app/ui/elements/conference-presentation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
    4 |
    5 | 6 |
    7 |
    8 | 7 | Latest update date of the permission file. 8 |
    9 |
    10 | -------------------------------------------------------------------------------- /app/ui/elements/title-presentation.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | Title of the presentation. 8 |
    9 |
    -------------------------------------------------------------------------------- /app/ui/elements/url-video-presentation.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | URL to the presentation video. 8 |
    9 |
    10 | -------------------------------------------------------------------------------- /app/ui/elements/url-slides-presentation.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | URL to the presentation slides. 8 |
    9 |
    10 | -------------------------------------------------------------------------------- /app/vendor/jquery-sortable/css/example.css: -------------------------------------------------------------------------------- 1 | body.dragging, body.dragging * { 2 | cursor: move !important; 3 | } 4 | 5 | .dragged { 6 | position: absolute; 7 | opacity: 0.5; 8 | z-index: 2000; 9 | } 10 | 11 | ol.example li.placeholder { 12 | position: relative; 13 | /** More li styles **/ 14 | } 15 | ol.example li.placeholder:before { 16 | position: absolute; 17 | /** Define arrowhead **/ 18 | } 19 | 20 | -------------------------------------------------------------------------------- /app/js/metadata.js: -------------------------------------------------------------------------------- 1 | function loadMetaData() { 2 | var dropdowns = [ 3 | ["../../json/tags.json",'#metadata-tags'], 4 | ["../../json/libraries.json",'#metadata-libraries'], 5 | ["../../json/permission-files.json",'#permission-file'] 6 | ]; 7 | 8 | var settings = { 9 | tags: true, 10 | tokenSeparators: [','] 11 | }; 12 | 13 | loadDropdowns( dropdowns, settings ); 14 | } 15 | 16 | loadMetaData(); 17 | -------------------------------------------------------------------------------- /app/content/article/2018-haskell-survey-results.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "2018 Haskell Survey Results" 3 | date: 2018-10-08 4 | permission-file: 5 | url: "https://www.fpcomplete.com/blog/2018-haskell-survey-results" 6 | authors: 7 | - Aaron Contorer 8 | type: "blog post" 9 | tags: 10 | - "Haskell Community" 11 | - "Survey" 12 | libraries: 13 | --- 14 | 15 | An overview and interpretation of the 2018 Haskell Survey done by FP Complete. 16 | -------------------------------------------------------------------------------- /app/content/article/memoization-in-haskell.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Memoization in Haskell" 3 | date: 2017-01-14 4 | permission-file: 5 | url: "https://kseo.github.io//posts/2017-01-14-memoization-in-hasekll.html" 6 | authors: 7 | - Kwang Yul Seo 8 | type: "article" 9 | tags: 10 | - "Memoization" 11 | libraries: 12 | - "memoize" 13 | - "MemoTrie" 14 | --- 15 | 16 | An article about basic memoization techniques available in Haskell. 17 | -------------------------------------------------------------------------------- /app/templates/content/how-do-i/advanced.html: -------------------------------------------------------------------------------- 1 |
    2 |

    With Haskell, how do I...

    3 |

    $title$ ?

    4 |
    5 | 6 |
    7 | 11 |
    12 | 13 | $body$ 14 | 15 | -------------------------------------------------------------------------------- /app/templates/content/how-do-i/simple.html: -------------------------------------------------------------------------------- 1 |
    2 |

    With Haskell, how do I...

    3 |

    $title$ ?

    4 |
    5 | 6 |
    7 | 11 |
    12 | 13 | $body$ 14 | 15 | -------------------------------------------------------------------------------- /app/ui/elements/date-published.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | Date on which the content was published (last update). 8 |
    9 |
    10 | -------------------------------------------------------------------------------- /app/content/article/opengl-on-froid.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "OpenGL on froid" 3 | date: 2017-01-17 4 | permission-file: 5 | url: "http://mchav.github.io/opengl-on-froid/" 6 | authors: 7 | - Michael Chavinda 8 | type: "article" 9 | tags: 10 | - "Frege" 11 | - "Android" 12 | - "OpenGL" 13 | libraries: 14 | - "froid" 15 | --- 16 | 17 | An article describing Michael Chavinda's progress on the `froid` library for the Frege programming language. 18 | -------------------------------------------------------------------------------- /app/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ja={days:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],daysShort:["日","月","火","水","木","金","土"],daysMin:["日","月","火","水","木","金","土"],months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",format:"yyyy/mm/dd",titleFormat:"yyyy年mm月",clear:"クリア"}}(jQuery); -------------------------------------------------------------------------------- /app/ui/elements/dates-series.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 | 7 | Date(s) of the series. If this series spans multiple dates, select all the relevant dates. 8 |
    9 |
    10 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | build: off 2 | 3 | before_test: 4 | - curl -sS -ostack.zip -L --insecure http://www.stackage.org/stack/windows-i386 5 | - 7z x stack.zip stack.exe 6 | 7 | clone_folder: "c:\\stack" 8 | environment: 9 | global: 10 | STACK_ROOT: "c:\\sr" 11 | 12 | test_script: 13 | - stack setup > nul 14 | # The ugly echo "" hack is to avoid complaints about 0 being an invalid file 15 | # descriptor 16 | - echo "" | stack --no-terminal test 17 | -------------------------------------------------------------------------------- /app/templates/handlebars/series.handlebars: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{{title}}}" 3 | dates: 4 | {{#each dates-series}} 5 | - "{{{this}}}" 6 | {{/each}} 7 | list: 8 | {{#each series-item-picker}} 9 | - {{{this}}} 10 | {{/each}} 11 | type: {{{type-series}}} 12 | tags: 13 | {{#each metadata-tags}} 14 | - "{{{this}}}" 15 | {{/each}} 16 | libraries: 17 | {{#each metadata-libraries}} 18 | - "{{{this}}}" 19 | {{/each}} 20 | --- 21 | 22 | {{{body}}} 23 | -------------------------------------------------------------------------------- /app/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["zh-TW"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["週日","週一","週二","週三","週四","週五","週六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",format:"yyyy年mm月dd日",weekStart:1,clear:"清除"}}(jQuery); -------------------------------------------------------------------------------- /app/content/article/the-design-and-use-of-quickcheck.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "The Design and Use of QuickCheck" 3 | date: 2017-01-14 4 | permission-file: 5 | url: "https://begriffs.com/posts/2017-01-14-design-use-quickcheck.html" 6 | authors: 7 | - Joe Nelson 8 | type: "article" 9 | tags: 10 | - "Dynamic evaluation" 11 | - "Interpreter" 12 | libraries: 13 | - "hint" 14 | --- 15 | 16 | An in-depth article about the design of QuickCheck and its features. 17 | -------------------------------------------------------------------------------- /app/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ko={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],today:"오늘",clear:"삭제",format:"yyyy-mm-dd",titleFormat:"yyyy년mm월",weekStart:0}}(jQuery); -------------------------------------------------------------------------------- /app/content/package/pandoc.markdown: -------------------------------------------------------------------------------- 1 | --- 2 | title: Pandoc 3 | name: pandoc 4 | synopsis: Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. 5 | tags: conversion 6 | hackage: https://hackage.haskell.org/package/pandoc 7 | stackage: https://www.stackage.org/package/pandoc 8 | source: https://github.com/jgm/pandoc 9 | type: package 10 | authors: 11 | - John MacFarlane 12 | --- 13 | 14 | Test -------------------------------------------------------------------------------- /app/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.he={days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"],daysShort:["א","ב","ג","ד","ה","ו","ש","א"],daysMin:["א","ב","ג","ד","ה","ו","ש","א"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],today:"היום",rtl:!0}}(jQuery); -------------------------------------------------------------------------------- /app/content/article/expressive-types-not-oppressive-types.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Expressive types, not oppressive types" 3 | date: 2017-01-14 4 | permission-file: 5 | url: "https://literateprogrammer.blogspot.be/2017/01/expressive-types-not-oppressive-types.html" 6 | authors: 7 | - Chris Ford 8 | type: "article" 9 | tags: 10 | libraries: 11 | --- 12 | 13 | An opinion piece by Chris Ford on why more advanced type systems help the programmer instead of constraining them. 14 | -------------------------------------------------------------------------------- /app/vendor/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",clear:"清除",format:"yyyy年mm月dd日",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /app/content/article/ballast-a-library-for-talking-to-shipwire.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Ballast, a library for talking to Shipwire" 3 | date: 2017-01-17 4 | permission-file: 5 | url: "http://alexeyzabelin.com/haskell-api-wrapper" 6 | authors: 7 | - Alexey Zabelin 8 | type: "article" 9 | tags: 10 | - "Type Families" 11 | - "Library Design" 12 | libraries: 13 | - "ballast" 14 | - "stripe-haskell" 15 | --- 16 | 17 | An article introducing the `ballast` library and its design goals. 18 | -------------------------------------------------------------------------------- /app/content/article/fun-with-hint.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Fun with hint" 3 | date: 2017-01-19 4 | permission-file: 5 | url: "http://kseo.github.io//posts/2017-01-19-fun-with-hint.html" 6 | authors: 7 | - Kwang Yul Seo 8 | type: "article" 9 | tags: 10 | - "Dynamic evaluation" 11 | - "Interpreter" 12 | libraries: 13 | - "hint" 14 | --- 15 | 16 | An article about Kwang Yul Seo's experiences with the `hint` library, which allows loading and executing Haskell expressions on the fly. 17 | -------------------------------------------------------------------------------- /app/content/article/introduction-to-the-indexed-privilege-monad.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "An Introduction to the Indexed Privilege Monad in Haskell, Scala, and C+" 3 | date: 2013-07-23 4 | permission-file: 5 | url: "https://gist.github.com/pthariensflame/6057040" 6 | authors: 7 | - Alexander Altman 8 | type: "tutorial" 9 | tags: 10 | - Indexed Monads 11 | - Monads 12 | - Privilege Monad 13 | libraries: 14 | --- 15 | 16 | A tutorial on the implementation and use of indexed monads. 17 | -------------------------------------------------------------------------------- /app/js/article.js: -------------------------------------------------------------------------------- 1 | function loadArticleTypes() { 2 | var dropdowns = [ 3 | ["../../json/article-types.json",'#type-article'] 4 | ]; 5 | 6 | var settings = { 7 | multiple: false, 8 | tags: true, 9 | createTag: function (params) { 10 | return { 11 | id: params.term, 12 | text: params.term, 13 | newOption: true 14 | }; 15 | } 16 | }; 17 | 18 | loadDropdowns( dropdowns, settings ); 19 | } 20 | 21 | loadArticleTypes(); 22 | -------------------------------------------------------------------------------- /app/templates/content/snippet.html: -------------------------------------------------------------------------------- 1 |
    2 |

    $title$

    3 |

    4 | $if(author)$ 5 | By $author$ 6 | $endif$ 7 |

    8 |
    9 | 10 |
    11 |

    Contents

    12 | $body$ 13 |
    14 | 15 |
    16 |

    Tagged with

    17 | $tags$ $category$ $libraries$ 18 |
    19 | 20 | -------------------------------------------------------------------------------- /app/ui/elements/abstract-paper.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    5 |
    6 |