Commit graph

288 commits

Author SHA1 Message Date
Vincent Prouillet
8942c15428 Add to changelog + rustfmt 2019-08-13 20:02:13 +02:00
southerntofu
13b395b536 zola init works inside existing directories (closes #406) (#777)
* zola init works without argument (defaults to current directory)

* zola init works with existing folders (no non-hidden files permitted)

* Update zola init documentation

* [docs] Optional argument is on a separate line for clarity

* Add tests for init subcommand's respect of existing folders
2019-08-13 19:56:57 +02:00
Vincent Prouillet
7f459940e1 Allow multiple taxonomies with same name in different language
Closes #766
2019-08-10 18:54:32 +02:00
Pyry Kovanen
4b43b75d22 Allow ignored_content to support markdown files (#759)
* Allow ignored_content to support markdown files

* Add test for markdown supported ignored_content
2019-08-01 10:18:42 +02:00
Vincent Prouillet
0e4e0c35b3 Remove all draft specific code 2019-07-19 11:10:28 +02:00
Vincent Prouillet
ad6b713759 Do not use serve remove dir result
Closes #752
2019-07-17 09:55:14 +02:00
Vincent Prouillet
7c3a112d7d Render draft pages in serve mode 2019-07-12 23:47:15 +02:00
Vincent Prouillet
a923f7005f Update site summary in zola check 2019-07-12 23:43:07 +02:00
Vincent Prouillet
28ecf553d5 Add counts in zola check
Closes #726
2019-07-12 23:38:46 +02:00
traviscross
46ee256ba4 Fix clippy warnings (#744)
Clippy is returning some warnings.  Let's fix or explicitly ignore
them.  In particular:

- In `components/imageproc/src/lib.rs`, we implement `Hash` explicitly
  but derive `PartialEq`.  We need to maintain the property that two
  keys being equal implies the hashes of those two keys are equal.
  Our `Hash` implementations preserve this, so we'll explicitly ignore
  the warnings.

- In `components/site/src/lib.rs`, we were calling `.into()` on some
  values that are already of the correct type.

- In `components/site/src/lib.rs`, we were using `.map(|x| *x)` in
  iterator chains to remove a level of indirection; we can instead say
  `.copied()` (introduced in Rust v1.36) or `.cloned()`.  Using
  `.copied` here is better from a type-checking point of view, but
  we'll use `.cloned` for now as Rust v1.36 was only recently
  released.

- In `components/templates/src/filters.rs` and
  `components/utils/src/site.rs`, we were taking `HashMap`s as
  function arguments but not generically accepting alternate `Hasher`
  implementations.

- In `src/cmd/check.rs`, we use `env::current_dir()` as a default
  value, but our use of `unwrap_or` meant that we would always
  retrieve the current directory even when not needed.

- In `components/errors/src/lib.rs`, we can use `if let` rather than
  `match`.

- In `components/library/src/content/page.rs`, we can collapse a
  nested conditional into `else if let ...`.

- In `components/library/src/sorting.rs`, a function takes `&&Page`
  arguments.  Clippy warns about this for efficiency reasons, but
  we're doing it here to match a particular sorting API, so we'll
  explicitly ignore the warning.
2019-07-12 22:54:18 +02:00
Jakub Turski
8a737d71fb Add an option to hard link files from static/ instead of copying. (#723)
* Add hard_link_static config option.

* Copy or hardlink file depending on an argument.

Modify the call sites for `copy_file` to account for the extra argument.

* Plug the config setting through to copy_file.

Don't apply the config option to theme's static directory.

* Update documentation.

* Backticks make no sense in this comment.

* Addressing PR comments.

* Be consistent with argument naming.
2019-07-12 22:54:18 +02:00
Tim Visée
90dad05c67 Add --open flag to serve command, to open URL in default browser (#739)
* Add --open flag to serve command, to open URL in default browser

* Mention serve --open flag in CLI documentation
2019-07-12 22:54:18 +02:00
Sam Ford
059ca55b36 Update LiveReload.js to v3.0.0 (#730) 2019-07-12 22:54:18 +02:00
Vincent Prouillet
9df9465080 Only check for port availability when not in watch-only for serve
Closes #712
2019-06-21 20:02:51 +02:00
Sam Ford
39f97f1520
Update actix-web to 1.0
* actix_web::fs is now found in the actix-files crate.

* NotFoundHandler is now implemented using ErrorHandlers and the
path to 404.html is provided to the not_found() function using
actix_web::App::data. This setup allows for additional StatusCodes
to be handled in the future, if desired.

* Cleanly serving index.html files for requests to directories now
appears to be possible simply by using index_file("index.html") in
the static files service, so handle_directory() is removed.
2019-06-18 19:05:00 -04:00
Vincent Prouillet
cb962f7a64 Add aliases to sections 2019-06-02 20:21:06 +02:00
Vincent Prouillet
717f2112bb Add chmod to list of events on which to rebuild on serve 2019-05-27 19:51:43 +02:00
Marcus Klaas de Vries
0d964204c3 Check command global (#683)
* Add check subcommand

* Add some brief documentation for the check subcommand

* Start working on parallel link checks

* Check all external links in Site

* Return *all* dead links in site
2019-05-27 14:05:07 +02:00
Vincent Prouillet
b70f9f95e3 Process images at the end of the build process
To also process the ones found in templates

Closes #669
2019-05-20 11:29:54 +02:00
Vincent Prouillet
debe0633bc Revert "Allow default base-path command line option to be set for building and serving"
This reverts commit 1815155c1d.
2019-04-20 12:50:34 +02:00
Vincent Prouillet
2aa3ea758b Set content-type for livereload script
Closes #667
2019-04-18 19:11:06 +02:00
Blake Smith
1815155c1d Allow default base-path command line option to be set for building and serving 2019-03-23 20:25:56 -05:00
Vincent Prouillet
9bc675f2a7 Fix colocated dates + rustfmt
Closes #607
2019-02-09 19:54:47 +01:00
Vincent Prouillet
776bf41123 Show actual Tera source error 2019-01-30 20:42:53 +01:00
Peng Guanwen
0b897ce7c7 Replace trim_{left, right} with trim_{start, end}
trim_{start, end} is introduced in rust 1.30.0 and
trim_{left, right} is deprecated since 1.33.0.
2019-01-29 16:30:54 +08:00
Vincent Prouillet
21d67235ae Arc-ify Library 2019-01-27 18:57:07 +01:00
Robert O'Callahan
986c49daf1 Fix --watch-only to actually rebuild the site 2019-01-25 13:48:45 +13:00
Vincent Prouillet
5caf24f06c Remove error-chain
Closes #576
2019-01-17 14:31:47 +01:00
Vincent Prouillet
0f0304d7ed Mention build rm the directory 2019-01-05 11:04:12 +01:00
Vincent Prouillet
c441f5e857 Lower serve latency
Closes #554
2019-01-05 11:02:47 +01:00
Vincent Prouillet
a12e9512bc fmt/clippy 2018-12-29 11:17:43 +01:00
Vincent Prouillet
7af314c61e Update deps + fmt 2018-11-14 17:34:21 +01:00
Vincent Prouillet
afc30543cc Handle file/dir renaming
Closes #385
2018-11-10 22:23:39 +01:00
Vincent Prouillet
d3bd22cfc4 Update changelog 2018-11-03 14:11:38 +01:00
Vincent Prouillet
a799384f38
Merge pull request #450 from FreeMasen/next
add watch command
2018-11-03 13:49:39 +01:00
Robert Masen
1ec2694acc reset color in colorize 2018-11-01 19:59:02 -05:00
Robert Masen
e0f90eed4a remove debug-println! 2018-11-01 17:52:23 -05:00
Robert Masen
b7c3d7199d add --watch-only flag 2018-11-01 17:20:35 -05:00
Vincent Prouillet
b7ce4e59fb rustfmt 2018-10-31 08:18:57 +01:00
Jake Howard
aad12d829f Remote data (#494) 2018-10-29 20:13:09 +01:00
Vincent Prouillet
4c9fd0d302 Do not panic if something is already bound to 1111 in serve 2018-10-19 16:33:11 +02:00
Vincent Prouillet
f84ae7c93b Rename all occurrences of gutenberg to zola in code 2018-10-18 22:50:06 +02:00
Vincent Prouillet
652196969c templates folder is now optional for serve
Fix #445
2018-10-11 20:52:42 +02:00
Vincent Prouillet
0ce3a0f070
Merge pull request #459 from Keats/database
Slotmap refactor
2018-10-09 11:30:49 +02:00
Vincent Prouillet
10aba20fe5 Slotmap refactor 2018-10-03 16:29:29 +02:00
Vladislav Supalov
ca982a268f Replace hard-coded directory slash in serve output (#457)
* Replace hard-coded directory slash in serve output
2018-10-02 11:31:18 +02:00
Christian Friedrich Coors
85529186e4 Fix some clippy warnings 2018-09-30 21:15:09 +02:00
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
58e2793097 Ignore one more type of emacs temp file 2018-09-13 16:57:38 +02:00
Vincent Prouillet
ae7a65b51f Fix base-url not overriding processed images urls
Closes #418
2018-09-10 20:30:59 +02:00
Johan Sigfrids
883357a7dd Handle relative path case 2018-08-05 08:59:56 +03:00
Johan Sigfrids
9be5e640ff Only test windows path handling on windows.
Otherwise Path won't know what to do.
2018-08-04 23:28:39 +03:00
Johan Sigfrids
64ec7e1578 Fix path handling on windows.
Delay turning paths into string. Instead, use methods on Path/PathBuf
to manipulate paths. This way the Rust Path implementation gets to deal with
all werid cross-platform issues.

This should fix #359
2018-08-04 22:47:45 +03:00
Vincent Prouillet
a83518a29b Update warning message to use weight 2018-07-31 15:39:20 +02:00
Vincent Prouillet
a958f96955 Update actix 2018-07-22 12:14:16 +02:00
Owen Nelson
8f460dc28b Custom 404 page now template driven.
Since we are using a builtin template, we can be assured to have the
target file in place. Middleware renamed since it is bound directly to
the concept of handling 404s.
2018-06-25 23:24:57 -07:00
Owen Nelson
7ab22528a5 WIP Custom 404 page.
This is a proposed successor to #296 (rewritten for actix-web, rather
than iron).
2018-06-25 21:47:37 -07:00
eir
17106be497 Send Appropriate Response on Error
Users can now place custom error pages in static/error/<error_code>.html
e.g. static/error/404.html

If no custom page is found, a default plaintext describing the error is served.
2018-06-25 21:42:58 -07:00
Vincent Prouillet
42939b9a66 Fix error and cargo update 2018-06-25 18:08:20 +02:00
Unreal Hoang
ffcc455ed5 Fix panicking handling file without extension 2018-06-25 18:07:41 +02:00
Owen Nelson
0e0cd244f3 Fix error handling put in place to side-step a confusing compiler error.
I filed actix/actix-web#261 as per the maintaner's request while
working on #310.

Having looked at the issue this morning, it appeared there was an
implementation to convert `io::Result` into a `Responder`, which kicked
in when I tried to access the `respond_to()` method without getting the
inner type from that first result before hand.
2018-06-25 18:07:41 +02:00
Owen Nelson
45156c46c9 map actix_web::error::Error to std::io::Error as string.
Conversion is by way of the `Display` trait impl since the actix errors
all seem to be more concerned with converting to/from http responses
rather than standard errors.
2018-06-25 18:07:41 +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
Vojtech Kral
6662014e55 Add image resizing support #225 2018-06-25 18:05:04 +02:00
Vincent Prouillet
b892c07ed3 Don't hardcode the ws port
Closes #282
2018-06-25 17:59:04 +02:00
Vincent Prouillet
50a79c52f3 Fix serve not working with config flag
Closes #294
2018-06-25 17:58:27 +02:00
Vincent Prouillet
73ddbf7152 Write some docs 2018-03-21 16:18:24 +01:00
Vincent Prouillet
f1abbd0860 Move copy utils to utils crate 2018-03-20 18:43:17 +01:00
Vincent Prouillet
2eacb8247b Fix config CLI option
Closes #254
2018-03-16 19:11:12 +01:00
Vincent Prouillet
b3b2527c5d TIL about serde default 2018-03-12 20:11:03 +01:00
Andrew Zah
f5ced05926 Separate interface and base url for gutenberg serve (#223)
Separate interface and base_url for serve

You can now have a different base_url and listening interface.
The `gutenberg serve` cmd now accepts `-u`/`--base-url`, but it defaults to `127.0.0.1`.
2018-02-02 17:18:07 +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
a44dd5f49a serve cleans after itself now
Closes #199
2018-01-22 18:11:28 +01:00
Vincent Prouillet
f37992e03a Do not unwrap on serve 2018-01-22 13:46:36 +01:00
Thomas Vincent
67eca7731f Reload on config change (#206)
* Trigger rebuild when `config.toml` is edited
2018-01-12 11:50:29 +01:00
Vincent Prouillet
892c987152 Livereload shortcode changes
Fix #204
2018-01-09 23:39:21 +01:00
Vincent Prouillet
14edd2b875 Add output-dir option to build & serve
From #191
2017-12-29 19:26:17 +01:00
Vincent Prouillet
129e693521 Add default templates 2017-11-27 18:09:09 +01:00
Thomas Vincent
78a3602454 Add the detection of ChangeKind::Sass to tests 2017-11-21 00:05:37 +01:00
Vincent Prouillet
1d8df5774f Allow static folder to be missing 2017-10-25 14:49:54 +02:00
Vincent Prouillet
e06611f46f Forgot to let base-url take a value >_> 2017-10-17 11:47:30 +02:00
Vincent Prouillet
d2177df838 Stop using clap macro 2017-10-16 22:48:59 +02:00
Vincent Prouillet
73797efe90 Add a base-url flag to the build command 2017-10-05 10:56:13 +09:00
Vincent Prouillet
20c1947b47 Clippy run 2017-10-02 20:16:56 +09:00
Vincent Prouillet
dee1dbe667 Working on site
And some tweaks as I write the docs
2017-09-29 15:37:58 +09:00
Vincent Prouillet
de5d711771 Use flags for port/interface in serve cmd 2017-09-27 21:51:10 +09:00
Vincent Prouillet
5d7e0bb33e Register all Tera global fns on change 2017-09-26 17:25:55 +09:00
Vincent Prouillet
a07835bbe3 Ignore folder change on live reload. Close #118 2017-09-12 15:57:51 +09:00
Vincent Prouillet
f58e416b96 Clippy run 2017-08-31 18:01:26 +09:00
Vincent Prouillet
699ffb07ce Create themes folder on init 2017-08-25 08:43:54 +09:00
Vincent Prouillet
c77cc9b170 First draft of theme support 2017-08-23 19:17:24 +09:00
Vincent Prouillet
23e4b911e7 Improve gutenberg init
Fix #104
2017-07-27 18:28:06 +09:00
Vincent Prouillet
2ea77f3883 Generate completions for all shells 2017-07-15 13:24:31 +09:00
Vincent Prouillet
d78477b619 Add Sass support for *nix 2017-07-06 22:19:50 +09:00
Vincent Prouillet
c3b525745e Convert project to a workspace 2017-07-01 16:47:41 +09:00
Vincent Prouillet
11c89fa663 Sorting benches 2017-07-01 12:06:49 +09:00
Vincent Prouillet
1f1fc3f454 Remove section from page context 2017-06-29 22:19:54 +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
b158ca7952 Read off disk in parallel 2017-06-22 14:21:56 +09:00