Commit graph

309 commits

Author SHA1 Message Date
Jasper Van der Jeugt
f0af2a3b79 WIP 2012-11-13 17:31:03 +01:00
Jasper Van der Jeugt
d2e913f424 Work a bit on new runtime 2012-11-13 15:10:01 +01:00
Jasper Van der Jeugt
89272dd97f Simplify stuff 2012-11-13 13:13:17 +01:00
Jasper Van der Jeugt
760b434437 WIP 2012-11-12 16:10:06 +01:00
Jasper Van der Jeugt
c7d3c60c54 Yet Another dependency analyzer 2012-11-12 14:31:33 +01:00
Jasper Van der Jeugt
ede51e822f Just messing around 2012-11-12 12:23:34 +01:00
Jasper Van der Jeugt
86ede74a20 Cleanup identifier and pattern types 2012-11-12 11:24:14 +01:00
Jasper Van der Jeugt
9aa11b26cd Pick dependency analyzer from old develop branch 2012-11-10 20:42:23 +01:00
Jasper Van der Jeugt
9eda3425a3 Remove metacompilation 2012-11-10 19:56:45 +01:00
Jasper Van der Jeugt
141e761ce1 Deprecate things, basics now work 2012-11-10 18:11:46 +01:00
Jasper Van der Jeugt
260e4e2e89 Context? 2012-11-10 16:30:38 +01:00
Jasper Van der Jeugt
9964f24550 More efficient instances for compiler 2012-11-10 13:35:59 +01:00
Jasper Van der Jeugt
6b11cba1ef Context module? 2012-11-10 13:26:39 +01:00
Jasper Van der Jeugt
4cb6f92414 Rewrite template application 2012-11-09 18:13:51 +01:00
Jasper Van der Jeugt
2834fd9494 Alternative instance for Compiler 2012-11-09 17:12:44 +01:00
Jasper Van der Jeugt
1319bbfe4a Remove Resource type 2012-11-09 16:34:45 +01:00
Jasper Van der Jeugt
dac3fac342 Rules will be in IO... 2012-11-08 13:50:08 +01:00
Jasper Van der Jeugt
89f324f81b Pick metadata parsing from old develop 2012-11-08 12:45:26 +01:00
Jasper Van der Jeugt
e5c97d978b Pick Store from the develop branch 2012-10-29 15:01:58 +01:00
Jasper Van der Jeugt
fe673bca72 Conditional getModificationTime 2012-09-24 17:58:23 +09:00
Jasper Van der Jeugt
50418117e7 Remove obsolete isObsolete method 2012-09-24 17:37:33 +09:00
Benjamin Weißenfels
4156202c7c corrected comments of setExtension 2012-09-01 12:29:37 +02:00
Jasper Van der Jeugt
178609cfd0 Run ./hakyll clean instead of just removing _cache 2012-08-30 09:36:15 +09:00
Arash Rouhani
255bb47079 Add hint for how to resolve a corrupt cache 2012-08-29 12:33:48 -03:00
Mekeor Melire
ca17e43628 if a filename begins with a hash (#), hakyll should ignore it, too,
because emacs names its backup files like #this# (while you're still
editing).
2012-08-13 01:23:04 +02:00
Jasper Van der Jeugt
f8fb0b271e Remove unused imports in Store 2012-08-10 09:40:17 +09:00
Jasper Van der Jeugt
edfdb7d677 Style nazi strikes! 2012-08-08 09:37:23 +09:00
Andrew Miller
d49694f58b Use lrucache to limit the in-memory resource cache to the 500 most recently
used items.

This stops swap being used on sites where not all the resources will fit in
memory, but ensures that frequently used resources like templates stay in the
cache. This drastically improves performance in such cases.
2012-08-08 11:41:29 +12:00
Andrew Miller
0b7b846a28 Make Resource Provider keep list of files in a set, rather than as a list, and
use Data.Set.member rather than Prelude.elem to test whether a resource exists.

On the site I'm currently working on (where there are ~1000 resources) this
makes hakyll about 25% faster.
2012-08-08 09:10:18 +12:00
Jasper Van der Jeugt
a27e254e0b Add constRoute
Closes #67
2012-05-29 23:39:07 +02:00
Jasper Van der Jeugt
7052768e4b Resource invariant: / as path separator 2012-05-18 18:24:57 +02:00
Jasper Van der Jeugt
264aeed33d Use splitPath 2012-05-18 17:17:51 +02:00
Jasper Van der Jeugt
778bb52b38 Oops 2012-05-12 14:03:43 +02:00
Jasper Van der Jeugt
484e0fb605 Merge branch 'stable' 2012-05-12 13:56:11 +02:00
Jasper Van der Jeugt
759f1e61ea Memory optimizations 2012-05-12 13:17:20 +02:00
Mark Wright
fe1703b9c3 changes for blaze-html 0.5 2012-04-23 23:14:01 +10:00
Jasper Van der Jeugt
c95d056be8 Bump dependencies 2012-03-18 10:51:12 +01:00
Jasper Van der Jeugt
f1a19c860f Catch errors in compilers 2012-03-18 10:44:54 +01:00
Jasper Van der Jeugt
1996052b11 Add complement function for patterns 2012-02-19 20:39:23 +01:00
Troels Henriksen
80f385c361 Mention how groups work with Hakyll.Core.Rules.create. 2012-02-17 16:25:00 +01:00
Jasper Van der Jeugt
75b8c3e0d2 byIdentifier -> byPattern 2012-02-13 22:30:48 +01:00
Troels Henriksen
87f6279c62 Add byIdentifier compiler. 2012-02-13 21:44:38 +01:00
Jasper Van der Jeugt
593f25b172 Switch to regex-tdfa 2012-02-12 23:53:35 +01:00
Jasper Van der Jeugt
dabaa4532b Add freshIdentifier to Hakyll.Core.Rules 2012-01-16 14:35:43 +01:00
Jasper Van der Jeugt
9badd09c91 sequenceA was reversing the list 2011-12-10 16:13:22 +01:00
Jasper Van der Jeugt
e910d53c44 Add a renderModificationTime function 2011-09-19 23:08:40 +02:00
Jasper Van der Jeugt
6808c5350e Add modification time access for resources 2011-09-16 20:42:31 +02:00
Jasper Van der Jeugt
de01fdf9dd Use cryptohash instead of hopenssl 2011-08-27 12:16:03 +02:00
Jasper Van der Jeugt
47521b3893 Clean cabal file, migrate to serveDirectoryWith 2011-06-20 10:46:16 +02:00
Jasper Van der Jeugt
fbe95ce6ce Add deploy command 2011-06-15 08:53:47 +02:00
Jasper Van der Jeugt
44fc490a41 Minor changes in Page haddocks 2011-05-30 11:45:22 +02:00
Jasper Van der Jeugt
7f7494cd14 Some prototype work on the Page.List module 2011-05-29 19:46:29 +02:00
Jasper Van der Jeugt
6bb94ac3fa Relax Rules to RulesM a in most places 2011-05-29 12:30:33 +02:00
Jasper Van der Jeugt
d3f15b18a5 Type-safe identifiers in haddocks 2011-05-28 22:33:48 +02:00
Jasper Van der Jeugt
e2cce1b341 Merge branch 'master' into type-safe-identifiers 2011-05-27 18:25:09 +02:00
Jasper Van der Jeugt
d004dc1999 Test for UnixFilter 2011-05-25 11:24:33 +02:00
Jasper Van der Jeugt
63a637f27c Add getResource, customizable sink for logger 2011-05-25 11:23:50 +02:00
Jasper Van der Jeugt
f6f7cde03c Return information in rules 2011-05-24 14:39:21 +02:00
Jasper Van der Jeugt
758e0beaaa Type-safe identifiers 2011-05-24 11:58:13 +02:00
Jasper Van der Jeugt
41b7f37138 Type-safe patterns 2011-05-24 10:12:10 +02:00
Jasper Van der Jeugt
7766a52277 Writable instance for () 2011-05-22 20:19:55 +02:00
Jasper Van der Jeugt
da3aa16c8b Better error messages for type errors 2011-05-19 00:41:39 +02:00
Jasper Van der Jeugt
c9fa74fd8e Warning in the docs about cache types 2011-05-17 11:00:53 +02:00
Jasper Van der Jeugt
dfe14d295e More better errors 2011-05-17 10:57:37 +02:00
Jasper Van der Jeugt
86cdd0327f Fix issue with ignoreFile 2011-05-16 23:12:51 +02:00
Jasper Van der Jeugt
52a06f13e7 Fix dependency edge case for singletons 2011-05-13 19:07:15 +02:00
Jasper Van der Jeugt
97d81872c5 Fix encoding errors with unixFilter 2011-05-06 10:28:35 +02:00
Jasper Van der Jeugt
047319b058 Writable instance for Identifier 2011-05-02 23:16:43 +02:00
Jasper Van der Jeugt
c7be8f4fc6 Dump dependency cycle on error 2011-04-17 09:13:49 +02:00
Jasper Van der Jeugt
5327e88160 Add resources function to rules DSL 2011-04-14 10:17:08 +02:00
Jasper Van der Jeugt
131a49c0e7 Remove debug output 2011-04-13 21:19:18 +02:00
Jasper Van der Jeugt
35162f9433 Document group function 2011-04-13 17:52:22 +02:00
Jasper Van der Jeugt
c463eb6a16 Pick first compiler on overlap 2011-04-13 17:42:57 +02:00
Jasper Van der Jeugt
4ae03a797f Dummy resource provider for testing purposes 2011-04-12 11:47:26 +02:00
Jasper Van der Jeugt
edcd3151ee Refactor resource provider creation 2011-04-12 11:43:12 +02:00
Jasper Van der Jeugt
b37da38d39 Major refactoring of identifiers/resources/groups 2011-04-12 10:09:03 +02:00
Jasper Van der Jeugt
0a3cd37cc9 Show group for identifier 2011-04-12 09:00:36 +02:00
Jasper Van der Jeugt
f969950977 Playing around with groups 2011-04-11 21:57:33 +02:00
Jasper Van der Jeugt
b9efc54e93 Set and check identifier groups 2011-04-11 18:10:45 +02:00
Jasper Van der Jeugt
15045d313c Add identifierGroup, clean up Pattern API 2011-04-11 18:07:17 +02:00
Jasper Van der Jeugt
a8accd36b1 Minor refactoring 2011-04-08 22:17:04 +02:00
Jasper Van der Jeugt
901b672107 Play with dependency analyzer 2011-04-06 14:40:36 +02:00
Jasper Van der Jeugt
80596b1f56 Merge branch 'master' into dependency-analyzer 2011-04-06 14:05:29 +02:00
Jasper Van der Jeugt
78dbe8a3d1 Add regex predicate helper 2011-04-06 09:39:20 +02:00
Jasper Van der Jeugt
3d2b2506d0 Move modified cache to resource provider
Currently, it's kept twice: in Run and in the Provider. On
the long term, it should be migrated entirely to the
Provider, this can be done when the new dependency manager
is finished.
2011-04-06 09:30:24 +02:00
Jasper Van der Jeugt
015663657c New resource module hierarchy 2011-04-05 22:14:49 +02:00
Jasper Van der Jeugt
433f36e6f3 Merge branch 'nested-rules' 2011-04-05 22:02:40 +02:00
Jasper Van der Jeugt
ff118fec98 Simplify match implementation(s) 2011-04-05 11:58:26 +02:00
Jasper Van der Jeugt
4925dd828e Bring tests up-to-date 2011-04-05 11:52:50 +02:00
Jasper Van der Jeugt
ecf4c64f62 Monoid instance for pattern 2011-04-05 11:50:46 +02:00
Jasper Van der Jeugt
b7059a0f1a Add function to construct predicates 2011-04-05 11:46:16 +02:00
Jasper Van der Jeugt
091014a60e Restructure pattern internals 2011-04-05 10:55:09 +02:00
Jasper Van der Jeugt
041ec5c309 Add getIdentifiers 2011-04-04 22:58:43 +02:00
Jasper Van der Jeugt
f6c65aadd7 Works-for-me implementation of nested rules 2011-04-04 20:49:22 +02:00
Jasper Van der Jeugt
5cc710d548 Don't ignore dotfiles in getRecursiveContents 2011-04-04 12:16:38 +02:00
Jasper Van der Jeugt
c3dbb0ca77 Start playing with dependency analyzer 2011-04-03 10:23:27 +02:00
Jasper Van der Jeugt
8bd45b97de New implementation of patterns using globs.
Closes gh-18
2011-03-29 15:04:01 +02:00
Jasper Van der Jeugt
e9666f78e8 Add new dependency analyzer & tests 2011-03-28 18:35:02 +02:00
Jasper Van der Jeugt
241efb1614 Fix storing path 2011-03-20 17:18:29 +01:00
Jasper Van der Jeugt
9d95ef483d Save dependency graph after run 2011-03-20 17:17:39 +01:00
Jasper Van der Jeugt
92aa446041 Don't require Writable for storing things 2011-03-20 15:51:20 +01:00
Jasper Van der Jeugt
99233f830c Binary instance for DirectedGraph 2011-03-20 15:14:42 +01:00
Jasper Van der Jeugt
cb4db8b9d5 Throw nice error in cached 2011-03-07 11:14:20 +01:00
Jasper Van der Jeugt
b9bc7f90e1 Throw nice error in getResourceString 2011-03-07 11:04:01 +01:00
Jasper Van der Jeugt
8cfa962005 Add ErrorT to CompilerM monad stack 2011-03-06 15:56:22 +01:00
Jasper Van der Jeugt
be685e6fcd Add BlazeHtml integration 2011-03-04 11:46:06 +01:00
Jasper Van der Jeugt
21789abd10 Add WritableTuple 2011-03-02 20:37:34 +01:00
Jasper Van der Jeugt
fa057f3011 Add composeRoutes 2011-03-01 09:40:07 +01:00
Jasper Van der Jeugt
d460fd88d1 Add gsubRoute 2011-02-28 22:40:23 +01:00
Jasper Van der Jeugt
49989eab57 Web.Util.String → {Web.Util.Url, Core.Util.String} 2011-02-28 22:33:28 +01:00
Jasper Van der Jeugt
5c454fc2ce Fix $body$ bug, add traceShowCompiler 2011-02-26 15:49:11 +01:00
Jasper Van der Jeugt
b73fc8e831 Add some more information on metacompilation 2011-02-26 11:07:46 +01:00
Jasper Van der Jeugt
c89cfdb456 Add byExtension compiler 2011-02-25 14:36:34 +01:00
Jasper Van der Jeugt
730eebe989 The dependency analyzer now knows a little more 2011-02-25 14:17:30 +01:00
Jasper Van der Jeugt
917829539c Add report function to logger 2011-02-21 13:15:11 +01:00
Jasper Van der Jeugt
8b57ab509f Add logger to Compiler monad 2011-02-21 13:02:35 +01:00
Jasper Van der Jeugt
12a0e5387b Add Unix filters as compilers 2011-02-21 11:42:19 +01:00
Jasper Van der Jeugt
678f18973f Quit/Sync bug fix 2011-02-21 10:56:04 +01:00
Jasper Van der Jeugt
256cc760ba Add pretty, thread-safe logger 2011-02-21 02:56:57 +01:00
Jasper Van der Jeugt
f04efbad3e Preview/INotify now works 2011-02-19 17:04:50 +01:00
Jasper Van der Jeugt
a5438d8d92 defaultCopyFile → copyFileCompiler 2011-02-15 22:46:43 +01:00
Jasper Van der Jeugt
3346123ca6 Receive list of used resources in Run module 2011-02-15 18:43:22 +01:00
Jasper Van der Jeugt
5a591ee24c Rules DSL tracks resources used 2011-02-15 18:32:55 +01:00
Jasper Van der Jeugt
1e0c875d6e More Identifier documentation 2011-02-12 16:54:31 +01:00
Jasper Van der Jeugt
1100f65f76 Document Compiler module 2011-02-12 10:26:58 +01:00
Jasper Van der Jeugt
34257df262 Resource = Identifier with an exists invariant 2011-02-11 23:26:54 +01:00
Jasper Van der Jeugt
2b9858a8f9 Add Resource type for improved type-safety 2011-02-11 17:52:19 +01:00
Jasper Van der Jeugt
dd81433d74 Split Rules module, add documentation 2011-02-11 13:30:55 +01:00
Jasper Van der Jeugt
2dfe7f6a67 Document Routes module 2011-02-11 08:48:18 +01:00
Jasper Van der Jeugt
4e0abd872a Update cabal file, fix warnings 2011-02-11 08:39:10 +01:00
Jasper Van der Jeugt
84d920432c Add customRoute 2011-02-11 08:20:35 +01:00
Jasper Van der Jeugt
c03607e087 Add prototype inotify backend 2011-02-10 20:05:50 +01:00
Jasper Van der Jeugt
77f37c1443 getRecursiveContents can return directories 2011-02-10 18:59:16 +01:00
Jasper Van der Jeugt
48da85b341 Add isFileInternal 2011-02-10 16:42:26 +01:00
Jasper Van der Jeugt
ee320c6166 Finish tags module 2011-02-09 13:02:28 +01:00
Jasper Van der Jeugt
f56eb538b6 Lazy pattern matching for compiler composition 2011-02-07 16:01:09 +01:00
Jasper Van der Jeugt
986a74b3af Add mapA 2011-02-07 11:41:09 +01:00
Jasper Van der Jeugt
bd261e9151 Add getRouteFor 2011-02-06 18:32:09 +01:00
Jasper Van der Jeugt
ec9c1ec0db Instantiate ArrowChoice for Compiler 2011-02-05 13:38:20 +01:00
Jasper Van der Jeugt
c093761e89 Route → Routes 2011-02-03 16:07:49 +01:00
Jasper Van der Jeugt
26c95402d8 Add a top-level configuration type 2011-02-03 11:34:00 +01:00
Jasper Van der Jeugt
c691251fc7 Autogenerate metacompiler indentifiers 2011-01-30 10:44:42 +01:00
Jasper Van der Jeugt
6cecbb890f Add fromCaptureString function 2011-01-25 20:56:10 +01:00
Jasper Van der Jeugt
7ba1413ea9 Add suffix to store files
This prevents file/directory clashes. Example:
when we have a `tags` item, and a `tags/foo` item,
there will be a clash since the store creates:

- a file `store/tags`;
- a file `store/tags/foo`.

The second file requires the first file to be a
directory.

We simply solve this by adding a suffix to all
store files, so it becomes:

- a file `store/tags.hakyllstore`;
- a file `store/tags/foo.hakyllstore`.
2011-01-25 13:50:02 +01:00
Jasper Van der Jeugt
e536a5961c Functor & Applicative instances for Compiler 2011-01-25 11:14:22 +01:00
Jasper Van der Jeugt
9b3e524128 Define all require functions in arrows
TODO: Think of a good naming scheme
2011-01-24 13:30:23 +01:00
Jasper Van der Jeugt
69f15f55ee Fix typo in requireAllA doc (thanks beastaugh) 2011-01-19 08:51:18 +01:00
Jasper Van der Jeugt
89cd33c723 Add requireA/requireAllA functions 2011-01-18 23:58:29 +01:00
Jasper Van der Jeugt
0bbc01f012 Backports feeds 2011-01-18 13:29:42 +01:00
Jasper Van der Jeugt
2f951598ef Allow IO operations in compilers 2011-01-17 22:43:44 +01:00