Commit graph

337 commits

Author SHA1 Message Date
Vincent Prouillet
735bb38bd7 Update docs for 404 and enable preserve-order of tera 2018-07-05 17:43:48 +02:00
Vincent Prouillet
d47ba4aff0 Rebasing + tweaks 2018-06-25 19:13:21 +02:00
Vojtech Kral
3e4aa82ecc imageproc: Use DefaultHasher from stdlib instead of twox-hash 2018-06-25 18:09:45 +02:00
Vojtech Kral
a89768dab0 Remove page.images 2018-06-25 18:09:03 +02:00
Vincent Prouillet
42939b9a66 Fix error and cargo update 2018-06-25 18:08:20 +02:00
Owen Nelson
908f16855a Fixes #279 switch from iron to actix-web.
This implementation seems to match the behavior of the previous iron
server.

Static files are rendered as-is, and when a directory is requested, we
attempt to render a `index.html` found inside, or 404 if it's not
present.

The actix docs mention using channels to send a message to the server to
shut it down gracefully while running in another thread (as we're doing
here), but it seems like there would have to be some reorganization in
order to manage this effectively, perhaps holding the channel sender inside
`main.rs` so we can push a message through to the server when the call
to `cmd::serve()` finally returns.

For the time being, I left things without any careful attempts to
cleanup the server thread. This more or less matches the old iron
implementation as far as I can see.

The static file handling in actix is _just_ a little off from what we'd
want.
I left some comments in the source regarding why we can't just use their hook
for directory index redirection.
2018-06-25 18:07:41 +02:00
Vincent Prouillet
8e8cdfeb7f Add year, month and day to page context with a date 2018-06-25 18:06:25 +02:00
Vojtech Kral
77bc526008 imageproc: Fix naming, cleanup 2018-06-25 18:05:49 +02:00
Vojtech Kral
6662014e55 Add image resizing support #225 2018-06-25 18:05:04 +02:00
Vincent Prouillet
d334b1cf46 More shortcode docs update 2018-06-25 18:03:20 +02:00
Vincent Prouillet
b120754862 Update shortcode parsing and docs 2018-06-25 18:02:21 +02:00
Vincent Prouillet
85e13483eb Use the new shortcode parser 2018-06-25 18:00:05 +02:00
Vincent Prouillet
3e6054a9ac tempdir -> tempfile 2018-06-25 17:57:33 +02:00
Vincent Prouillet
691ad922a2 cargo update 2018-06-25 17:57:06 +02:00
Vincent Prouillet
a853bef933 v0.3.4 2018-06-22 15:14:12 +02:00
Vincent Prouillet
7f48b9bee8 Update more deps and appveyor config 2018-06-22 13:39:29 +02:00
Vincent Prouillet
2b75fd180b cargo update for new version 2018-06-22 13:34:47 +02:00
Vincent Prouillet
4b23759908 Add CMake syntax and update other syntaxes
Closes #277
2018-04-13 15:07:30 +02:00
Vincent Prouillet
d6bb43c0ad Set release date 2018-03-29 15:30:30 +02:00
Vincent Prouillet
9c0dd95bdb Fix theme shortcode not being useable
Closes #272
2018-03-28 21:09:08 +02:00
Vincent Prouillet
caeda1dfb4 Update deps 2018-03-26 17:52:06 +02:00
Vincent Prouillet
b0363298f5 Search is working now 2018-03-20 21:27:33 +01:00
Vincent Prouillet
ddf8970ad8 [WIP] Search 2018-03-20 18:43:30 +01:00
Vincent Prouillet
f1abbd0860 Move copy utils to utils crate 2018-03-20 18:43:17 +01:00
Vincent Prouillet
cbb2c59b91 Add indented Sass to changelog 2018-03-19 18:50:04 +01:00
Vincent Prouillet
2eacb8247b Fix config CLI option
Closes #254
2018-03-16 19:11:12 +01:00
Vincent Prouillet
bb5cdc0b6c Update deps 2018-03-12 18:31:11 +01:00
Vincent Prouillet
15dd8e629e v0.3.2 2018-03-05 19:26:27 +01:00
Vincent Prouillet
f93fba9563 Update dependencies 2018-03-05 18:12:28 +01:00
Vincent Prouillet
1e25117887 Fix date serializing in extra section of pages
Closes #238
2018-03-01 14:49:34 +01:00
Vincent Prouillet
217738d0c8 Update list of themes 2018-03-01 10:37:35 +01:00
Philip Daniels
3e1221064b Filter ignored content in page.rs.
* Add ignored_content to the Config structure.
* Use the GlobSet crate to parse the glob patterns into a matcher, which
  is created once at program initialization. If there are no patterns in
  ignored_content, an empty globber is created, which excludes no files.
  This is consistent with the existing behaviour of Gutenberg, before
  this feature was added.
* Bail if there are any errors in the glob patterns.
* Add a call to the globber in page.rs to actually do the filtering.
* Update documentation.

A note on the Config structure
------------------------------
* I had to remove the PartialEq derive from the Config structure as it
  does not work for the GlobSet type. No harm is done, Config does not
  need to be PartialEq anyway, since there is no need to sort Configs.
* The implementation follows the pattern of the existing config settings
  in that it uses an Option<...>. This would appear unnecessary, in that
  an empty vec could be used as the default, but it appears to be needed
  by the TOML parsing. A better approach would be to use a separate
  SerializableConfig and map to/from a Config struct. This would also
  allow the elimination of most, if not all, of the other Options in
  the Config structure, but that ought to be another PR.
2018-02-25 15:15:51 +00:00
Vincent Prouillet
10818cd0de Stop trying to load every file as markdown on serve
Closes #235
2018-02-22 16:49:37 +01:00
Vincent Prouillet
45fc1ee761 Release 0.3.1 2018-02-15 10:41:49 +01:00
Vincent Prouillet
f7cacba3f0 Update deps and changelog 2018-02-02 17:35:03 +01:00
Vincent Prouillet
4d8647279c Update some deps 2018-02-01 09:24:00 +01:00
Vincent Prouillet
16f658c70c Move test_site and turn rebuild.rs into a component 2018-01-29 18:40:12 +01:00
Vincent Prouillet
ec79c8ee0e Update Tera to fix regression 2018-01-25 19:11:35 +01:00
Vincent Prouillet
fea728d413 Update cargo metadata 2018-01-25 12:18:21 +01:00
Vincent Prouillet
b73ff48482 Fix not compiling on nightly
Fix #215
2018-01-24 13:21:48 +01:00
Vincent Prouillet
a44dd5f49a serve cleans after itself now
Closes #199
2018-01-22 18:11:28 +01:00
Vincent Prouillet
11bfd7b2be Tera 0.11 has been released 2018-01-22 15:10:03 +01:00
Vincent Prouillet
f37992e03a Do not unwrap on serve 2018-01-22 13:46:36 +01:00
Vincent Prouillet
1d1ff74d88 Use TOML dates in front-matter rather than strings
Closes #210
2018-01-14 18:04:01 +01:00
Vincent Prouillet
892c987152 Livereload shortcode changes
Fix #204
2018-01-09 23:39:21 +01:00
Vincent Prouillet
77634ebe83 Update syntect 2018-01-02 17:46:51 +01:00
Vincent Prouillet
bfdc93f948 Cargo update 2017-12-29 19:51:22 +01:00
Vincent Prouillet
14edd2b875 Add output-dir option to build & serve
From #191
2017-12-29 19:26:17 +01:00
Vincent Prouillet
728c1f3013 Cargo update 2017-12-07 13:53:57 +01:00
Vincent Prouillet
129e693521 Add default templates 2017-11-27 18:09:09 +01:00
Vincent Prouillet
edff79e914 Update Tera in cargo.lock 2017-11-26 10:07:34 +01:00
Vincent Prouillet
cfefb45913 Update to Tera 0.11 beta 2017-11-26 10:07:34 +01:00
Vincent Prouillet
ec4a91adf6 Add earliest Rust version to travis 2017-11-26 10:07:34 +01:00
Vincent Prouillet
322d2f30fb Add get_taxonomy_url global_fn
And fix bug with taxonomies urls
2017-11-26 10:07:34 +01:00
Vincent Prouillet
3040f00de2 Add docs for taxonomies
Close #167
2017-11-14 17:55:50 +01:00
Vincent Prouillet
11be340a92 v0.2.2 2017-11-01 14:58:03 +01:00
Vincent Prouillet
c8f07d8242 Update deps 2017-10-31 17:02:34 +01:00
Geoff Shannon
c19e900bec Extract syntex highlighting module into a new component in workspace
This removes the dependency cycle between config and rendering that
causes 4 packages to be recompiled every time a change is made.

I just want to code fast!
2017-10-30 13:55:14 -07:00
Vincent Prouillet
ca5bdc8f3c Do not ignore shortcodes without args 2017-10-23 10:49:23 +02:00
Vincent Prouillet
3e421fb951 Releasing 0.2.1 2017-10-17 11:44:06 +02:00
Vincent Prouillet
d2177df838 Stop using clap macro 2017-10-16 22:48:59 +02:00
Vincent Prouillet
97d5561569 Next version will be 0.2.0 2017-10-03 20:50:34 +09:00
Vincent Prouillet
2d97786e67 Add back drafts 2017-09-25 18:55:43 +09:00
Vincent Prouillet
f5e1b0c170 Get ready for 0.1.3 release 2017-08-31 18:51:18 +09:00
Vincent Prouillet
edc3fd2295 Only build inheritance chain for user tpls after adding theme tpl 2017-08-30 17:48:13 +09:00
Vincent Prouillet
262ff5ec00 Rewrite theme tera paths and merge theme.toml data 2017-08-25 08:38:03 +09:00
Vincent Prouillet
521b9755f8 Remove local crates Cargo.lock 2017-08-23 19:22:21 +09:00
Vincent Prouillet
c77cc9b170 First draft of theme support 2017-08-23 19:17:24 +09:00
Vincent Prouillet
8ce42a7fcc Update syntaxes 2017-08-10 09:14:48 +09:00
Vincent Prouillet
8a11d8e049 Fold get_static_url in get_url 2017-08-07 23:29:58 +09:00
Vincent Prouillet
fc63765ee1 Add a get_static_url global fn
Fix #108
2017-08-07 20:38:14 +09:00
Vincent Prouillet
23e4b911e7 Improve gutenberg init
Fix #104
2017-07-27 18:28:06 +09:00
Vincent Prouillet
26011e4c94 Update sass-rs 2017-07-25 16:57:31 +09:00
Vincent Prouillet
62a24c3700 Forgot to bump Cargo.toml version 2017-07-25 16:57:30 +09:00
Vincent Prouillet
903b456276 v.0.1.0 2017-07-14 21:53:41 +09:00
Vincent Prouillet
ce597c1b43 Use released version of sass-rs 2017-07-14 16:53:48 +09:00
Vincent Prouillet
e2b09d4d27 Sass works on windows; try to use msvc on appveyor 2017-07-13 22:45:31 +09:00
Vincent Prouillet
b3d002f54d Clippy run 2017-07-11 22:51:02 +09:00
Vincent Prouillet
d78477b619 Add Sass support for *nix 2017-07-06 22:19:50 +09:00
Vincent Prouillet
998283d17c Faster render_sitemap 2017-07-05 08:27:27 +09:00
Vincent Prouillet
c3b525745e Convert project to a workspace 2017-07-01 16:47:41 +09:00
Vincent Prouillet
c7bea0bc54 Add weight sorting 2017-06-29 16:11:15 +09:00
Vincent Prouillet
7768a0cc12 Bench + parallelize more things 2017-06-27 22:39:04 +09:00
Vincent Prouillet
1811255b92 Update deps 2017-06-22 16:28:52 +09:00
William Yao
b759cf7681 parallelize site rendering with rayon (Keats/gutenberg#70) 2017-06-21 04:00:37 -05:00
Vincent Prouillet
549644683b v0.0.7 2017-06-19 18:44:31 +09:00
Vincent Prouillet
77ad6547e5 Update some dependencies 2017-06-18 20:06:18 +09:00
Vincent Prouillet
4fa88ebc21 Update deps and only do one cargo test on windows 2017-06-13 20:50:16 +09:00
Vincent Prouillet
0037f743cd Add license of livereload-js in serve.rs 2017-06-07 18:25:59 +09:00
Vincent Prouillet
5b777cf587 Update syntect 2017-05-31 20:06:04 +09:00
Vincent Prouillet
f3cfca23a5 Update submodule and re-do dumps for syntect 1.4.0 2017-05-30 18:44:56 +09:00
Vincent Prouillet
2c8ff5e08e v0.0.6 2017-05-24 21:28:33 +09:00
Vincent Prouillet
ba7be32535 Update dependencies 2017-05-24 20:57:23 +09:00
Vincent Prouillet
958f1cf88c Update Tera and fix tests 2017-05-23 19:49:10 +09:00
Vincent Prouillet
dbe4a1d517 Move insert_anchor to section and allow left/right 2017-05-22 20:28:43 +09:00
Vincent Prouillet
d2b6cbde2f Update jinja2 syntax to include html syntax 2017-05-20 22:53:47 +09:00
Vincent Prouillet
b2a63e2ada Add a get_url global fn
Close #67
2017-05-17 19:06:11 +09:00
Vincent Prouillet
54fc1055ad v0.0.5 2017-05-15 15:57:42 +09:00
Vincent Prouillet
1aaf5c1beb Update some deps 2017-05-15 14:44:23 +09:00
Vincent Prouillet
c791dffae5 Use livereload properly. Fix #10 2017-05-12 21:15:50 +09:00
Vincent Prouillet
aa7ddef123 Update toml 2017-05-12 14:01:10 +09:00
Vincent Prouillet
40b5a0547a Update changelog 2017-05-11 14:12:02 +09:00
Vincent Prouillet
6f5e008853 Add global get_page tera fn 2017-05-10 12:17:15 +09:00
Vincent Prouillet
7099fc8ac2 Add frontmatter flag to not render a section
Useful if you're creating a section only to access it in the index but
do not want a section page for it
2017-05-09 20:39:42 +09:00
Vincent Prouillet
4df9752b54 Pass the <directory, section> to the index 2017-05-09 20:24:44 +09:00
Vincent Prouillet
5bfe1c213b Clippy run 2017-05-08 17:39:31 +09:00
Vincent Prouillet
a3318d4b56 Pagination 2017-05-03 20:00:50 +09:00
Vincent Prouillet
9669c3562c Some fix and use toml master branch for now 2017-05-01 14:55:42 +09:00
Vincent Prouillet
968f81be29 Update syntaxes 2017-04-28 17:06:32 +09:00
Vincent Prouillet
a8c8c5cb07 Update changelog and base64 2017-04-23 15:32:28 +09:00
Vincent Prouillet
d37ca10905 Update serde and tera 2017-04-21 14:09:22 +09:00
Vincent Prouillet
73feb41e17 Add missing fields to serialization
Also use Option for Page::summary

Close #38
2017-04-20 12:12:43 +09:00
Vincent Prouillet
e6b48dff38 Release 0.0.3 2017-04-05 21:51:18 +09:00
Vincent Prouillet
cf3a8142c2 Try to make windows work + remove musl 2017-04-05 20:31:10 +09:00
Vincent Prouillet
b86a30fb78 Add markdown and base64 filters 2017-04-04 16:08:40 +09:00
Vincent Prouillet
a6b8caf6de Add shortcodes 2017-03-29 21:45:41 +09:00
Vincent Prouillet
a02d50c22a Add some colours 2017-03-25 15:52:51 +09:00
Vincent Prouillet
870fbbcd0f Allow selecting a config file other than config.toml 2017-03-25 13:18:15 +09:00
Vincent Prouillet
573ab48eb0 serde_json is not used 2017-03-25 12:04:58 +09:00
Vincent Prouillet
769878032a Release 0.0.2 2017-03-24 16:33:19 +09:00
Vincent Prouillet
d05a1559d9 Add prev/next hack 2017-03-23 13:10:00 +09:00
Vincent Prouillet
7e496878e5 Sections
Parse _index.md files as sections and render them
2017-03-19 19:20:24 +09:00
Vincent Prouillet
2d26bf038c Force refresh on content/template change and various fixes 2017-03-10 21:36:43 +09:00
Vincent Prouillet
4406b16007 Detect whether the page needs highlighting 2017-03-10 17:40:42 +09:00
Vincent Prouillet
57fd159025 Copy static directory and live reload changes to it 2017-03-09 16:34:12 +09:00
Vincent Prouillet
d43d738a4f RSS feed generation 2017-03-07 16:43:27 +09:00
Vincent Prouillet
4acce865b4 Sort by date 2017-03-06 22:18:03 +09:00
Vincent Prouillet
f57912f712 Basic livereload 2017-03-06 19:35:56 +09:00
Vincent Prouillet
e948df1028 Add a Site struct that knows how to parse/build a site 2017-03-03 17:24:08 +09:00
Vincent Prouillet
91fa7e358c Started working on gutenberg again 2017-02-24 11:21:58 +09:00
Vincent Prouillet
cbe1691f36 Rename new command to init 2016-12-19 16:58:03 +09:00
Vincent Prouillet
c09cfe2de4 Render section pages 2016-12-13 18:05:59 +09:00
Vincent Prouillet
3cd5da2128 Separate front matter parsing from the page 2016-12-11 15:06:18 +09:00
Vincent Prouillet
4ae84e468b Switch to tera 0.5 2016-12-09 20:24:05 +09:00
Vincent Prouillet
a6e421c5e4 Parsing front matter 2016-12-06 20:53:14 +09:00
Vincent Prouillet
a48a4c9bdf Started working on pages 2016-12-06 17:27:03 +09:00
Vincent Prouillet
021b8ea21f Create new project 2016-12-06 14:51:33 +09:00