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
Vincent Prouillet
b45f8c3116
Merge pull request #89 from williamyaoh/add-parallel
...
Parallelize site rendering using rayon
2017-06-21 18:14:30 +09:00
Vincent Prouillet
414457ed92
Get assets of page only if file is named index.md
2017-06-21 18:07:40 +09:00
William Yao
2109787625
coalesce syntect data structures into rendering::highlighting ( Keats/gutenberg#89 )
2017-06-21 04:00:37 -05:00
William Yao
b759cf7681
parallelize site rendering with rayon ( Keats/gutenberg#70 )
2017-06-21 04:00:37 -05:00
Vincent Prouillet
6508b7e4d3
Name the index section
2017-06-19 18:14:13 +09:00
Vincent Prouillet
03bbe9cc90
Revert "Reverse order sorting to be desc"
...
This reverts commit 26e119479c
.
2017-06-17 08:42:18 +09:00
Vincent Prouillet
6a059d86d0
Add aliases to pages. Fix #86
2017-06-16 23:09:01 +09:00
Vincent Prouillet
26e119479c
Reverse order sorting to be desc
2017-06-16 22:12:38 +09:00
Vincent Prouillet
e76ee7ae4a
Pass section in context when rendering a page if there is one
2017-06-16 21:53:54 +09:00
Vincent Prouillet
c3986b701a
Add table of contents support
2017-06-16 13:00:48 +09:00
Vincent Prouillet
2d949249c3
Add trailing slash to paths and permalinks. Fix #85
2017-06-11 02:52:39 +09:00
Vincent Prouillet
0037f743cd
Add license of livereload-js in serve.rs
2017-06-07 18:25:59 +09:00
William Yao
4c9d1e3af7
Add shortcode for Streamable videos (Electric Boogaloo) ( #80 )
...
Add shortcode for Streamable video
2017-06-06 12:51:20 +09:00
Vincent Prouillet
ffe8a24333
Sort tag/category page by date
...
Fix #75
2017-05-30 19:23:10 +09:00
Vincent Prouillet
bae3ade471
Add get_section fn and update readme
2017-05-23 20:03:25 +09:00
Vincent Prouillet
958f1cf88c
Update Tera and fix tests
2017-05-23 19:49:10 +09:00
Vincent Prouillet
3fb06ac791
Clippy
2017-05-22 20:58:28 +09:00
Vincent Prouillet
92d81509d3
Rebuild pages on changes to insert_anchor
2017-05-22 20:56:37 +09:00
Vincent Prouillet
916f7407db
Rename anchor link class
2017-05-22 20:44:33 +09:00
Vincent Prouillet
efb4d16ede
Remove next/previous page when adding a previous/next to avoid chains
...
Where all the posts would be serialized
2017-05-22 20:38:04 +09:00
Vincent Prouillet
dbe4a1d517
Move insert_anchor to section and allow left/right
2017-05-22 20:28:43 +09:00
Vincent Prouillet
2a11b9d116
Better error if address in use
...
Fix #72
2017-05-21 00:00:42 +09:00
Vincent Prouillet
33faf6fe70
Make number RSS item configurable
...
Fix #71
2017-05-20 23:45:32 +09:00
Vincent Prouillet
26159609d2
Add a rendering module
2017-05-17 21:53:26 +09:00
Vincent Prouillet
b2a63e2ada
Add a get_url global fn
...
Close #67
2017-05-17 19:06:11 +09:00
Vincent Prouillet
59b4b07cb3
Use Path for fs utils rather than AsRef
2017-05-16 14:54:50 +09:00
Vincent Prouillet
be784bbaa3
Refactor taxonomies
...
Fix #66
2017-05-16 13:39:42 +09:00
Vincent Prouillet
056bf55881
Add a FileInfo struct to hold some common data about the files
2017-05-15 19:53:39 +09:00
Vincent Prouillet
d9ed7df118
Minify livereload.js
2017-05-15 17:11:14 +09:00
Vincent Prouillet
b2c3adff37
Move page tests inside content mod
2017-05-15 17:02:38 +09:00
Vincent Prouillet
4f27dc2f18
Move find_content_components to content mod
2017-05-15 16:26:11 +09:00
Vincent Prouillet
86b6bd80c3
Fix SectionFrontMatter default
2017-05-15 14:59:14 +09:00
Vincent Prouillet
c35b76406e
Move stuff around a bit more
2017-05-15 12:23:19 +09:00
Vincent Prouillet
07f11755d6
Create a content mod
2017-05-14 14:14:58 +09:00
Vincent Prouillet
09d5e74a65
Smarter rebuild on content change
...
Fix #59
2017-05-13 22:37:02 +09:00
Vincent Prouillet
76527801ce
Move render_alias to templates mod
2017-05-13 13:05:38 +09:00
Vincent Prouillet
299c3c8b22
Separate Page and Section front matter into 2 structs
...
Fix #61
2017-05-13 13:01:39 +09:00
Vincent Prouillet
bb3cba1ad5
Move adding filters to the templates mod
2017-05-13 11:45:29 +09:00
Vincent Prouillet
72c626ee55
Move all tera stuff into a templates mod
2017-05-12 23:27:22 +09:00
Vincent Prouillet
2fb4e2b01d
Move all printing in cli to the console file
2017-05-12 23:10:21 +09:00
Vincent Prouillet
2a150299f3
Move cli code to bin directory
2017-05-12 22:59:41 +09:00
Vincent Prouillet
5ac5625de1
Default to not generating tags and categories page
...
Also add a Site::render_section method
2017-05-12 22:54:13 +09:00
Vincent Prouillet
ab3e04c9e5
Do not count the index as a section when printing
2017-05-12 21:30:59 +09:00
Vincent Prouillet
c791dffae5
Use livereload properly. Fix #10
2017-05-12 21:15:50 +09:00
Vincent Prouillet
8711c9a3c0
Change Site::section and fix empty paginated sections
2017-05-12 20:24:44 +09:00
Vincent Prouillet
c565f10cb3
Let sections have their own body
2017-05-12 18:05:00 +09:00
Vincent Prouillet
005990a928
Create a default index section if there is none
2017-05-12 16:30:01 +09:00
Vincent Prouillet
939b699518
Clippy
2017-05-11 15:45:19 +09:00
Vincent Prouillet
1e0744601e
Slighty smarter rebuild on page content change
2017-05-11 14:53:52 +09:00
Vincent Prouillet
6f5e008853
Add global get_page tera fn
2017-05-10 12:17:15 +09:00
Vincent Prouillet
c989ab607c
Add orphan in print notice and fix orphan with assets and url
2017-05-09 21:47:02 +09:00
Vincent Prouillet
f3edef2640
Warn about ignored pages
2017-05-09 21:12:10 +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
2d4cba5b2d
Make index a section like any other
2017-05-08 19:43:31 +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
27287a50c3
Do not unwrap on watchers in serve cmd
2017-05-01 18:11:18 +09:00
Vincent Prouillet
fc960c1771
Do not populate prev/next on section index rendering
2017-05-01 17:33:20 +09:00
Vincent Prouillet
6e9a9eaa1f
Fix prev/next
2017-05-01 17:10:22 +09:00
Vincent Prouillet
566f4e6919
Fix rebuild content logic to include sections
2017-05-01 16:31:23 +09:00
Vincent Prouillet
db84411788
Fix link in md headers
...
Fix #53
2017-05-01 16:04:43 +09:00
Vincent Prouillet
b256aaf7d0
Do not append non-sortables pages when not sortable
2017-05-01 15:35:49 +09:00
Vincent Prouillet
9669c3562c
Some fix and use toml master branch for now
2017-05-01 14:55:42 +09:00
Vincent Prouillet
a0b70bfc7e
Allow sorting pages by order and date
...
Closes #14 , #43
2017-05-01 14:46:01 +09:00
Vincent Prouillet
03aa83af6a
Make title and description optional in frontmatter
2017-04-28 16:31:11 +09:00
Vincent Prouillet
dd9bab3142
Fix XML template overriding
2017-04-28 16:18:18 +09:00
Vincent Prouillet
74be6d9c15
Add asset list in file not name index.md error message
2017-04-25 12:00:55 +09:00
Vincent Prouillet
df51e4d8b6
Add a special section for home page
2017-04-22 14:36:02 +09:00
Vincent Prouillet
1c9e078154
Clippy run
2017-04-22 12:35:11 +09:00
Vincent Prouillet
fb7b5646ca
Only load templates ending by .html
...
Avoid issues with temp files from some editors
2017-04-22 11:44:57 +09:00
Vincent Prouillet
f35ca24893
Fix titles with markdown chars and anchors
2017-04-22 11:40:11 +09:00
Vincent Prouillet
6036927c19
Add more sublime syntaxes
...
Also fix gutenberg serve that has been broken (not
re-rendering content) for quite some time now.
2017-04-21 16:24:09 +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
32e8c07272
RSS summary and markdown tables/footnotes
2017-04-19 22:16:21 +09:00
Erle Carrara
9acb70442f
Copy only modified files in static directory ( #27 )
...
Copy only static files that triggered the change notification
2017-04-18 14:07:02 +09:00
Vincent Prouillet
04da527e53
Render anchor link
2017-04-10 19:58:44 +09:00
Vincent Prouillet
22392ff9ed
Make relative link work with anchors
2017-04-10 19:58:44 +09:00
Vincent Prouillet
b794a44a7f
Add id to headers
2017-04-10 19:58:44 +09:00
Vincent Prouillet
7aeebcc981
Add current_url and current_path
...
To every templates, useful when doing
navigation to know which link is currently
active
2017-04-06 14:40:46 +09:00
Vincent Prouillet
afc4a81ebf
Fix rss link and description
2017-04-06 11:21:37 +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
3aa2b89451
Allow links to .md pages in pages contents
2017-03-30 14:56:47 +09:00
Vincent Prouillet
d03974270d
Add some default shortcodes
2017-03-29 23:32:40 +09:00
Vincent Prouillet
a6b8caf6de
Add shortcodes
2017-03-29 21:45:41 +09:00
Vincent Prouillet
0dcc7846e4
Merge pull request #22 from reillysiemens/lazy_front-matter_regex
...
Use lazy front-matter regex
2017-03-27 12:21:36 +09:00
Vincent Prouillet
f4db5180ba
Add sections to index page context
2017-03-27 11:48:13 +09:00
Reilly Tucker Siemens
7c1cecb211
Use lazy front-matter regex
...
Using a greedy regex could lead to unintended consequences, like the
inability to syntax highlight a unified diff. This resolves issues like
that by using .*? instead of .* so that the closing +++ is matched as
soon as possible.
2017-03-26 19:12:04 -07:00
Vincent Prouillet
f44d698844
Add number of pages/section on serve as well
2017-03-25 16:12:58 +09:00
Vincent Prouillet
0aef05ac8e
Clippy + appveyor
2017-03-25 15:59:12 +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
58208df35a
Move highlight decision into the markdown_to_html fn
2017-03-23 14:11:24 +09:00
Vincent Prouillet
d05a1559d9
Add prev/next hack
2017-03-23 13:10:00 +09:00
Vincent Prouillet
8b5183d4ad
Partial reloading of content on change
2017-03-21 16:57:00 +09:00
Vincent Prouillet
b0cc1ac042
Add robots.txt
2017-03-20 21:40:03 +09:00
Vincent Prouillet
eb6fa3c314
Override base_url in serve cmd
2017-03-20 19:20:16 +09:00
Vincent Prouillet
540bbcc1b6
Add flags in config to disable tags/categories generation
2017-03-20 18:36:24 +09:00
Vincent Prouillet
9af85ba3e4
Pick highlighting theme from config
2017-03-20 17:30:50 +09:00
Vincent Prouillet
f63ec475eb
Add categories and tags to sitemap
2017-03-20 12:42:43 +09:00
Vincent Prouillet
fd10e77e39
Sort section pages after parsing
2017-03-19 20:34:02 +09:00
Vincent Prouillet
6df68da84b
Add tests for categories and tags
2017-03-19 20:20:24 +09:00
Vincent Prouillet
d8995c156c
Add sections to sitemap
2017-03-19 19:40:31 +09:00
Vincent Prouillet
cd70aac065
Clippy run
2017-03-19 19:29:43 +09:00