Commit graph

175 commits

Author SHA1 Message Date
Dmitri Sotnikov
b96a872654 Merge pull request #47 from jstepien/pmap
Parallelize read-posts with pmap
2015-09-23 16:11:26 -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
Dmitri Sotnikov
2df8fdec31 Update project.clj 2015-09-23 08:13:37 -04:00
Carmen La
e6ee1012d8 Merge pull request #45 from jstepien/md5
require pandect.algo.md5 instead of pandect.core
2015-09-21 09:51:37 -04:00
Jan Stępień
aa7ac4d98c require pandect.algo.md5 instead of pandect.core
This makes compilation of cryogen-core.watcher faster by reducing the
number of its dependencies. Now it depends just on pandect.algo.md5
instead of all pandect.algo.*
2015-09-21 15:23:13 +02:00
Dmitri Sotnikov
ca18cdf916 Merge pull request #44 from jstepien/enumeration-seq
Simplify load-plugins with enumeration-seq
2015-09-20 17:55:32 -04:00
Jan Stępień
c557fa8478 Simplify load-plugins with enumeration-seq 2015-09-20 22:52:51 +02:00
Dmitri Sotnikov
9500f2185d Merge pull request #43 from jstepien/previews
Previews
2015-09-18 17:02:46 -04:00
Jan Stępień
1a7c48731a Simplify create-previews with map 2015-09-18 22:22:40 +02:00
Jan Stępień
f6a7d17213 Don't invoke select-keys on post in create-preview
This allows preview templates to access all of post's metadata.
2015-09-18 22:22:13 +02:00
Carmen La
933d213d15 Merge pull request #42 from jstepien/find-more-with-indexof
create-preview: simplify the more marker lookup
2015-09-17 12:05:26 -04:00
Jan Stępień
1b4306c3a3 create-preview: simplify the more marker lookup
This commit replaces a regular expression lookup with a simple
String/indexOf substring search.

It addresses pathological cases in which re-find took several
seconds to process contents of a blog post. An example of such
a case was a post with 16kB of nested HTML tags in a single line.
2015-09-17 17:13:45 +02:00
Carmen La
e4a56d2140 Merge pull request #41 from markokocic/no-reflection
Fix type hint cast
2015-09-15 18:12:51 -04:00
Marko Kocic
8e5b3a9fee Fix type hint cast 2015-09-15 18:24:51 +02:00
Dmitri Sotnikov
7c3cf47db4 Merge pull request #39 from markokocic/no-reflection
Clear reflection warnings
2015-09-14 08:46:31 -04:00
Marko Kocic
f4888b26d9 Clear reflection warnings 2015-09-14 12:06:35 +02:00
Carmen La
85ede46a9e Merge pull request #37 from ClashTheBunny/podcasts
Add enclosure tag to facilitate Podcasting with Cryogen
2015-09-03 22:43:54 -04:00
Randall Mason
03cfabcbb9 Add enclosure tag to facilitate Podcasting with Cryogen
Add an enclosure tag to a post's metadata to let a podcast client
to deliver your audio content.  It should look like this:

:enclosure [{:url "<full-url>"}]

Without the brackets, you end up with NullPointerExceptions, so
make sure you have that.

The URL should be the full location of where the audio file is
hosted (not relative), so for example:

:enclosure [{:url "http://www.example.com/01_episode_IV.mp3"}]

I created a bunch of markdown files with just the enclosure and
info about the audiobook with the following bash snippet:

find -L books -type f -iname "*mp3" | sort | while read mp3; do name=$(basename $mp3 .mp3); book=$(basename "$(dirname $mp3)"); echo "{:title \"$name\"\n:layout :post\n:tags [\"audiobooks\" \"$book\"]\n:enclosure [{:url \"http://clashthebunny.mason.ch/blog/$mp3\"}]}\n $book - $name\n==================" > md/posts/"$(date "+%Y-$name").md"; done

Each book was in it's own subdirectory of books:
books/Dracula/1-01-Chapter1_part01.mp3
books/Dracula/1-02-Chapter1_part02.mp3
books/Dracula/2-01-Chapter2_part01.mp3

Note that the above script requires the prefix of the episode to
be "date-like".  It should be fairly easy to work out a way to get
your podcast up and running.

Add the book names to your rss-filters array, e.g.:
["Dracula" "Pride & Prejudice"]

Most podcasting clients support authentication, so just password
protect those directories and you should be good to go, even
if you are hosting copyrighted content.
2015-09-03 11:27:55 -05:00
Carmen La
e1aa1d737f Merge pull request #36 from ciwchris/patch-1
Add active-page key to config map
2015-08-17 21:46:46 -04:00
Chris
8eb0e9ff29 Add active-page key to config map
For certain pages a key with a boolean value is added to the config map which can then be used in templates to determine if it is the page being rendered. Not all pages have this key and boolean value. Instead of adding additional keys for every page a new generic key, 'active-page', has been added and its value is the page name, ex: 'home', 'archives', 'tags', etc. The default value is 'home'. This key can then be used in any template to check the page which is currently being rendered.
2015-08-17 07:30:23 -07:00
lacarmen
42faca4b82 Bump up clojars version 2015-08-06 21:01:59 -04:00
Dmitri Sotnikov
1e354379e1 bumped up clj-rss 2015-08-06 16:15:44 -04:00
Carmen La
1afc36ecbc Update selmer dependency 2015-08-06 13:39:13 -04:00
Carmen La
2af155820e Merge branch 'powernoodle-post-date' 2015-08-06 13:38:15 -04:00
Carmen La
837f855726 Merge branch 'post-date' of https://github.com/powernoodle/cryogen-core into powernoodle-post-date 2015-08-06 13:37:50 -04:00
Dmitri Sotnikov
67d0151de8 Merge pull request #34 from cybem/default-locale
Use the default locale for the instance of the JVM
2015-08-05 17:37:00 -04:00
Kirill Kondratenko
71bb80cf49 Use the default locale for the instance of the JVM
instead of the hardcoded "en" locale
2015-08-06 00:27:54 +03:00
Brendon Walsh
e710f08679 Optional :date key can be provided in metadata 2015-07-29 11:50:00 -04:00
Carmen La
85ea98f0ff bumped up dependencies 2015-07-19 10:48:51 -04:00
Carmen La
64a9830f6d Only make the "prev" link in the second page when the second page actually exists 2015-07-08 16:55:31 -04:00
Carmen La
d6941823fd Added option for post preview pages rather than a single index page. Issue #28 2015-07-08 16:34:39 -04:00
Carmen La
7153e9d522 Added page with all tags - for issue #31 2015-07-08 12:15:11 -04:00
Carmen La
2264af82df Merge pull request #30 from InDevLand/master
`compile-pages` method now uses the page's :layout
2015-07-06 09:23:03 -04:00
InDevLand
82d3a5677f fixed compile-pages now use :layout 2015-07-06 04:02:42 +02:00
Carmen La
e7636e7586 Fixed pubDate not showing up in filtered rss feeds 2015-06-23 10:08:26 -04:00
lacarmen
4511536cc9 Cleanup + fixes for config based themes 2015-06-14 11:16:35 -04:00
Carmen La
fa07db5a4b Merge pull request #26 from zerg000000/config-based-theme
Config based theme
2015-06-14 11:15:19 -04:00
Albert Lai
2119ed52aa merge posts image fix 2015-06-14 18:42:04 +08:00
Albert Lai
7c443a8b5c add experimental theme support 2015-06-14 18:23:58 +08:00
Albert Lai
bc62c8a790 fix issue #24 image handling in Post is generally broken 2015-06-14 13:47:18 +08:00
Carmen La
717b2dc370 Update project.clj 2015-06-04 16:18:15 -04:00
Carmen La
eb8698944e bumped up dependencies 2015-05-28 23:55:22 -04:00
Dmitri Sotnikov
092e4e4774 updated url 2015-04-14 16:17:56 -04:00
Dmitri Sotnikov
b355bba2e1 bumped up pandect 2015-04-14 16:13:54 -04:00
Yogthos
e0d3676196 added an error check for parsing the config.edn 2015-04-02 22:22:17 -04:00
Dmitri Sotnikov
97de91ca90 Update project.clj 2015-03-15 21:46:16 -04:00
Carmen La
5ffd30895f Merge pull request #23 from ericsomdahl/master
Modification to allow the generated rss xml to pass xsd validation.
2015-03-13 01:15:57 -04:00
Eric Somdahl
6b45fdc35a Modification to allow the generated rss xml to pass xsd validation.
1) Removed the <author> tag from each <item>.  The presence of this tag is ok here but the xsd requires that the content include a valid email address, not just the name string coming from the site config (Forms that pass validation are "test@xyz.com" or "test@xyz.com (Test McTester)" ).  And who would want to advertise their real email like that?  :)
2) Removed the <author> tag from the <channel>.  <author> isn't a valid child element of a channel.  There is a child element called <webMaster> that is a close analogue but it also requires content as above.
2015-03-10 21:29:04 -04:00
Dmitri Sotnikov
e3641885a2 bumped up dependencies 2015-02-26 22:28:42 -05:00
Carmen La
3d05b46e16 Merge pull request #21 from wjlroe/access-all-config-in-templates
Pass all config to templates
2015-02-23 15:16:47 -05:00