Commit graph

109 commits

Author SHA1 Message Date
Aleksander Madland Stapnes
60c4ec0054 Add nohighlight to klipsified code blocks. 2017-02-02 00:49:51 -03:00
Aleksander Madland Stapnes
70c95b41d8 Look at the content as well as the config to infer clojure eval
Before only the config was looked at to determine whether to include
the js minified of not, now look at the html as well. This makes it
more convenient to set up all klipse stuff once in config.edn without
having to manually specify which js to include.
2017-01-27 02:57:33 -03:00
Aleksander Madland Stapnes
f7f02f7433 Change confusing local names. cfg -> settings 2017-01-20 16:16:01 -03:00
Aleksander Madland Stapnes
c5d995b262 Add some docstrings 2017-01-20 02:57:47 -03:00
Aleksander Madland Stapnes
ac52785b19 Automatic klipse integration 2017-01-20 02:57:38 -03:00
Carmen La
84a933bdcf Fix dest-sass/sass-dest key
Issue #85
2017-01-17 23:46:23 -05:00
Carmen La
f0cc7353c1 Pass both page/post params to the index template 2017-01-17 01:57:19 -05:00
Carmen La
6ba76bc7f5 Fix a regression 2017-01-17 01:41:04 -05:00
Carmen La
9cd5016537 Don't create prev/next links pointing to :home? pages
- Also include more metadata in page.prev and page.next params
- And some general code cleanup
2017-01-16 23:25:05 -05:00
Aleksander Madland Stapnes
1cfb2b17df Remove crouton dep because enlive does the same thing
Almost the same thing; it doesn't insert missing html, head and body
tags, but in this case we only care about the stuff in the body.
2017-01-16 18:16:11 -03:00
Carmen La
dec80185e5 A big ol' cleanup 2017-01-16 02:37:19 -05:00
Aleksander Madland Stapnes
dbd5caaf1f Replace tagsoup dependency with enlive
Tagsoup depends on an old version of clojure.data.xml, which doesn't
compile with clojure 1.9.0-alpha12. Enlive seems more actively
maintained and used.
2017-01-15 05:30:25 -03:00
Aleksander Madland Stapnes
9c7c935d66 Style pedantry: Remove trailing whitespace.
My emacs did it...
2017-01-15 05:17:48 -03:00
Scot Brown
6d28af459f Fix symbol not found exception in compile-assets function 2017-01-03 16:38:57 -05:00
773ee269b9 add some more debug options 2016-12-31 15:48:52 +01:00
e796a5adc5 added debug switch & improved home vs. preview handling 2016-12-31 11:20:09 +01:00
60b395e047 added ability to select one page as home-page (add :home? true as meta)
instead of newest post.
2016-12-30 23:43:13 +01:00
Carmen La
e3d2d3f433 Fix npe 2016-12-18 19:22:29 -05:00
Carmen La
fb0dc9e1d4 Merge pull request #77 from SVMBrown/master
conditionally drop any posts with dates set in the future
2016-12-18 14:24:20 -05:00
Torsten Uhlmann
998fc077e8 Provided fixes make cryogen work on Windows.
The path is converted to forward slash before further processed
The executables for sass and compass are configurable, that's because
on a Windows installation they are named sass.bat and compass.bat
The default is still the Unix version.
2016-12-17 11:29:16 +01:00
Scot Brown
1a75abb0e4 conditionally drop any posts with dates set in the future 2016-12-13 15:59:09 -05:00
Ben Swift
c9828f6cc3 nicer pretty-printing of "compiling sass" 2016-12-04 16:48:41 +11:00
Ben Swift
a66f8df5e4 in compile-sass-file!, sh doesn't like nil arg when no compass 2016-12-02 14:30:11 +11:00
Ben Swift
fc1d1d725c bugfix for compass-installed?
catch the (previously uncaught) exception when there isn't a `compass`
binary on the `$PATH`, return `false` instead
2016-12-02 11:55:47 +11:00
Shigeaki Matsumura
9858723403 fix toc entry for title which has a link 2016-10-23 12:07:50 +09:00
Shigeaki Matsumura
510c33c23d support sub directories in pages and posts 2016-10-19 00:43:09 +09:00
Carmen La
52457c7b64 Add :today key to params for compiling posts 2016-09-03 15:33:37 -04:00
Arsene Rei
f383661e5e Fallback to resources/templates/{pages,posts}
By default, when using markdown files, Cryogen will look for
`resources/templates/md/pages/*.md`. This commits allows Cryogen to fall back to
`resources/templates/pages/*.md` in the case that it can't find any files in the
former directory. It works similarly for posts and Asciidoc files.

Since we're looking specifically for `*.md` for Markdown files and `*.asc` for
Ascii files, this is an opportunity to eliminate redundancy.
2016-05-27 11:52:41 -04:00
Carmen La
3e7d43b212 update dependencies/version 2016-04-18 22:44:09 -04:00
Jan Stępień
0d1149a9c2 Use Hawk in cryogen-core.watcher
This is a follow-up to PR #46. It replaces the 300ms loop with a file
watcher. Hawk is a wrapper around java.nio.file.WatchService coming with
proper OS X support.

Now rebuilds should be instantaneous.
2016-03-13 16:43:14 +01:00
Dan Hable
683bcad292 Make archive grouping configurable
The blog that I'm moving to cryogen currently groups the posts by year instead of by year/month. This change makes the grouping configurable while defaulting to the current behavior of year/month grouping on posts.
2016-03-08 20:22:20 -06:00
Tom L
0c4156f43f Add servlet context to tags, archives rendering. 2016-02-15 20:31:40 -06:00
Tom L
c18c3d60f2 Implement clean URLs feature (Issue #89)
When `clean-urls?` is set in config, emit pages as subdirectories
`prefix/root/page-name/index.html` instead of
`prefix/root/page-name.html`. Links in emitted HTML then point to
`prefix/root/page-name/`. When `clean-urls?` not set, behaves as
before.

Refactor most URI generation into a new `page-uri` function.
`page-uri` replaces most calls* to `path`, all calls to `post-uri`
and all calls to the old `page-uri`.

Introduce function `create-file-recursive`. Function creates
file parent if not exists.

Introduce function `write-html`. When `clean-urls?` is set, spits
emitted HTML into subdirectories as described above; otherwise
behaves like `create-file`. Replaces most* calls to `create-file`
Calls `create-file` or `create-file-recursive`.

* Exceptions made for sitemap XML and RSS feed XML pages
2016-02-11 20:04:56 -06:00
Tomasz Biernacki
c84b550f92 Add multiple authors filtering support 2016-02-10 03:13:06 +01:00
Tomasz Biernacki
e5395a362a Add author and (short) description for RSS 2016-02-09 03:01:10 +01:00
Sean
852b431d71 Add home to index params when previews are enabled 2016-02-04 04:07:17 -08:00
ponkore
556fe84ef8 content-with-more-marker returns with correct tags
`content-with-more-marker` returns a HTML string when the `content`
conteins more marker ("<!--more-->").

In many case, HTML tags in `content` is balanced.
ex.
------------------------------
<div id='post'>
  <div class='post-content'>
    this post has more marker
<!--more-->
and more content.
  </div>
</div>
------------------------------

But original code breaks the balance.
------------------------------
<div id='post'>
  <div class='post-content'>
    this post has more marker
------------------------------

Afer this patch applied, `tagsoup` read above text and `hiccup`
re-render to HTML text with correct balanced tags.
------------------------------
<div id='post'>
  <div class='post-content'>
    this post has more marker
</div></div>
------------------------------
2016-01-11 21:30:21 +09:00
ponkore
792833facb rewrite-hrefs bug fix (when :blog-prefix is blank)
When :blog-prefix in `config.edn` is set nil or "",
rewrite-hrefs should return `text` itself.
2016-01-10 23:40:19 +09:00
Carmen La
839ed5c469 Remove unnecesasry tag-root key 2016-01-08 20:44:07 -05:00
Carmen La
1abc4c6137 Fix bug with rewrite-href function 2016-01-08 18:51:40 -05:00
Sergiy BONDARYEV
eea999e1d7 add Blog/Page/Post/Tag uri customisation
add :tag-root-uri :page-root-uri :post-root-uri parsing

replace {entity}-root with {entity}-root-uri parameters to set uri

fix root-path call

fix root-path function params order
(worked erlier because of keyword<->map transposition)

fix keyword :{entity}-root-uri to :{entity}-root transformation

misprint: congig -> config

add function to compose file path

add create-file function

add function to compose a path

handle empty blog-path using path function

fix filename for preview
2016-01-08 22:59:10 +01:00
Yogthos
5b13b3b761 added :draft? key to allow creation of draft posts that won't be published 2015-12-17 14:36:09 -05:00
Jeff Rabinowitz
e34ea8c989 Fixed a regression under which the old style of using :toc true would throw an exception because the tag was not properly cast to a :ul or :ol tag. Added unit testing for all cases. 2015-11-08 20:35:04 -05:00
Jeff Rabinowitz
365df0e680 Reimplemented TOC logic using zippers to ensure state is always internally valid. Also added unit testing to provide a regression testing suite. This should fix issue #19. 2015-11-01 19:34:06 -05:00
Carmen La
1063704f4f Swap order of _list-types and list-type in toc.clj 2015-10-31 14:50:51 -04:00
Carmen La
30b3503abc add '.html' ending to prev/next links in preview pages 2015-10-31 14:50:03 -04:00
Carmen La
21e3c0e75f Add ".html" ending to preview pages.
cryogen-project/cryogen#92
2015-10-31 13:54:37 -04:00
Jeff Rabinowitz
61e93a3480 fixed bug with threading macro in wrong order. fixed bug with where space not present between tag and class for top level ul/ol.. 2015-10-27 22:58:22 -04:00
Jeff Rabinowitz
482700a311 Submitting a feature request for the :toc to support both ordered and unordered lists by expanding the vocabulary of the existing :toc directive to include :ul and :ol 2015-10-25 19:14:43 -04:00
Jan Stępień
2a95e477de Parallelize read-posts with pmap
This makes each markup implementation process posts in parallel.

In case of a simple test blog with 4 markdown pages mean compilation
time was reduced from 395 to 330ms. In the experiment I used OpenJDK 8
running `lein ring server` on a 4 core CPU.
2015-09-23 21:46:11 +02:00