Commit graph

359 commits

Author SHA1 Message Date
Greizgh b8233af2c4 Allow to disable colors through env vars
- unless forced, only use colors in tty
- support CLICOLOR and NO_COLOR vars
- switch to termcolor crate to handle output coloring
2018-09-24 19:19:34 +02:00
Vincent Prouillet 9461769bcc Parse date only once for pages 2018-09-21 09:40:52 +02:00
Vincent Prouillet 5876a67100 Remove useless benches and add more useful ones 2018-09-18 16:01:44 +02:00
Vincent Prouillet e9d59239d6 Update deps 2018-09-12 16:04:24 +02:00
Vincent Prouillet 38b30eb144 Update deps and fix deprecrations 2018-09-09 19:43:14 +02:00
Vincent Prouillet a6adbabb3d Fix benches 2018-09-03 19:05:24 +02:00
Vincent Prouillet a60075fd54 Update deps 2018-09-03 18:02:01 +02:00
Vincent Prouillet cc46c81bbd Prepare 0.4.1 2018-08-06 19:40:59 +02:00
Vincent Prouillet abd9c26d81 Update deps for notify 2018-08-06 09:20:54 +02:00
Vincent Prouillet a4e47f9435 Update deps 2018-08-05 15:03:12 +02:00
Vincent Prouillet d9bc70c6fa Last minute cargo update 2018-08-04 00:21:16 +02:00
Vincent Prouillet f2d1e25c3d cargo update 2018-08-02 17:44:08 +02:00
Vincent Prouillet 648b700667 One more cargo update 2018-08-01 18:22:12 +02:00
Vincent Prouillet 8e3e3a52f1 Updated deps 2018-08-01 10:33:20 +02:00
Vincent Prouillet 60a52fd2cc Some intellij reformatting 2018-07-31 15:30:49 +02:00
Vincent Prouillet 601763307d Update deps 2018-07-23 15:44:40 +02:00
Vincent Prouillet a958f96955 Update actix 2018-07-22 12:14:16 +02:00
Vincent Prouillet d0066cb497 Update appveyor min version 2018-07-17 12:37:15 +02:00
Vincent Prouillet 3e48ff24b5 Add an external link checker
Close #115
2018-07-16 21:15:50 +02:00
Vincent Prouillet 7bf36642d9 Update deps 2018-07-16 11:03:45 +02:00
Vincent Prouillet 1ae0702494
Custom taxonomies (#330) 2018-07-16 10:54:05 +02:00
Vincent Prouillet f7454708a7 Disable actix-web features for real 2018-07-12 23:23:14 +02:00
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