Commit graph

371 commits

Author SHA1 Message Date
Thomas Hurst 2a53955696 Fix rendering benchmarks. 2018-08-26 00:13:15 +01:00
Thomas Hurst 6a5ace62fc link_checker: Set Accept header
As mentioned in #381, crates.io 404's any request without an Accept:
text/html header.  It 200's any request with one, but at least
false-successes don't prevent checking any other links.

This also makes it easier to add a custom User-Agent if desired.

rustfmt and fix a clippy nit (unnecessary return) while I'm here.
2018-08-25 17:17:06 +01:00
Thomas Hurst 68690a2cf1 Add a test for summary handling in Markdown rendering. 2018-08-24 22:46:28 +01:00
Thomas Hurst c53c403790 Update rendering tests 2018-08-24 22:37:55 +01:00
Thomas Hurst 5f1f9efe7a Derive debug for markdown::Rendered 2018-08-24 22:37:39 +01:00
Thomas Hurst f2f3bed080 Markdown parsing: prefer Borrowed over Owned where possible
As mentioned in #376
2018-08-24 17:40:26 +01:00
Thomas Hurst c069bfdafa Rework summary handling.
Push summary handling into Markdown parsing, identifying the presence
of one by giving its length in the rendered markup.

Hopefully a better fix for #376.
2018-08-22 17:34:32 +01:00
Vincent Prouillet e0291cec65 Add Swift, MiniZinc syntax and update the rest
Also fix tests

Close #367, #372
2018-08-15 15:42:43 +02:00
Nathan Ringo 48391dbafb
extra_syntaxes documentation 2018-08-14 09:54:24 -05:00
Nathan Ringo 9df5da4697
Fixes bug with extra syntaxes in non-root section, adds tests. 2018-08-14 02:12:04 -05:00
Nathan Ringo 64fa890aa9
Adds support for loading additional syntaxes via extra_syntaxes. 2018-08-12 02:08:50 -05:00
cmal 31479ff23b Remove condition that's always true (optimization) 2018-08-09 11:58:09 +02:00
cmal 739c2011a7 Remove redundant filtering operation (optimization) 2018-08-09 11:55:27 +02:00
cmal 77f8d96c9c Make comment more explicit 2018-08-09 11:53:45 +02:00
cmal 3b9c8c71b5 Revert "Start implementing _index folder for section content/assets"
This reverts commit c7156a84f0.
2018-08-09 11:51:01 +02:00
cmal c7156a84f0 Start implementing _index folder for section content/assets 2018-08-08 10:51:40 +02:00
cmal 15190962ba Copy relevant assets in case of colocation for section 2018-08-07 12:14:59 +02:00
cmal 8473dff23d Implement assets colocation in section 2018-08-07 12:12:12 +02:00
Vincent Prouillet 4f418a11b4 Fix live reload of section content 2018-08-05 10:30:01 +02:00
Vincent Prouillet 84a3193e97 Last fixes 2018-08-03 19:47:39 +02:00
Vincent Prouillet bd6578e71c Fix failing test 2018-08-03 18:32:30 +02:00
Vincent Prouillet efddb24b95 We actually need get_taxonomy_url. Also update docs 2018-07-31 16:35:16 +02:00
Vincent Prouillet 60a52fd2cc Some intellij reformatting 2018-07-31 15:30:49 +02:00
Daniel Sockwell 77ac196f46 Change populate_next_and_previous_page
Replace `populate_next_and_previous_page` with `populate_siblings`
2018-07-30 22:41:27 -04:00
Daniel Sockwell 97f5065259 Fix formating/typos flaged in code review 2018-07-29 17:03:14 -04:00
Daniel Sockwell c2437cc0eb Remove order and add heavier/later
This commit removes the option to sort by order and also removes
`page.next` and `page.previous` variables.  Instead, pages can be sorted
by two methods `date` and `weight`.  The Tera `reverse` filter will
reverse either of those sorts, so the old `order` behavior can be
achieved by using the `reverse` filter with `weight`.

In place of the `previous`/`next` variables, this commit adds the
`page.earlier`/`page.later` variables (which are set when the page is
sorted by date) and the `page.heavier`/`page.lighter` variables (which
are set when the page is sorted by weight).  These variables have the
advantage of not having confusing semantics when the `reverse` filter is
used.
2018-07-27 23:00:28 -04:00
Vincent Prouillet 9972b72d91 Register get_taxonomy global fn 2018-07-27 18:45:19 +02:00
Vincent Prouillet 3e48ff24b5 Add an external link checker
Close #115
2018-07-16 21:15:50 +02:00
Vincent Prouillet 18bef00671 Rename taxonomies paginate and error on unknown ones 2018-07-16 18:14:48 +02:00
Vincent Prouillet 2f100ecd01 Fix path in windows for taxo rss 2018-07-16 12:01:03 +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 735bb38bd7 Update docs for 404 and enable preserve-order of tera 2018-07-05 17:43:48 +02:00
Vincent Prouillet 734beba0fd
Merge pull request #323 from onelson/actix-middleware-err-response
Custom 404 page
2018-07-05 17:22:40 +02:00
Vincent Prouillet 9e9fe50769 Fix rendering benchmark 2018-07-01 16:14:46 +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
Vincent Prouillet d47ba4aff0 Rebasing + tweaks 2018-06-25 19:13:21 +02:00
Vojtech Kral 17de3c9a97 imageproc: Rename _resized_images as _processed_images 2018-06-25 18:09:45 +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 8e8cdfeb7f Add year, month and day to page context with a date 2018-06-25 18:06:25 +02:00
Vojtech Kral 4a6244adcf imageproc: Cleanup and comments in hash collision resolution 2018-06-25 18:05:49 +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 3eb571fdbf Trim left every line of a shortcode to avoid the accidental markdown codeblock 2018-06-25 18:04:00 +02:00
Vincent Prouillet f07bb38c37 Fix image in markdown rendering 2018-06-25 18:04:00 +02:00
Vincent Prouillet 28641fc223 Add HTML aliases to changelog 2018-06-25 18:04:00 +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 860d1f4d1f Indicate which file is failing to render on error 2018-06-25 18:02:07 +02:00
Clar Charr da3b0fcf0e Use proper Unicode word count; fixes #304 2018-06-25 18:02:07 +02:00
James Munns fbb57253a3 Add html-alias test 2018-06-25 18:02:07 +02:00
James Munns cf1f8317bb Reduce the number of allocations 2018-06-25 18:02:07 +02:00
James Munns 40ef634439 Allow creation of specific html aliases 2018-06-25 18:02:07 +02:00
Vincent Prouillet d69ada09d2 Make permalinks out of co-located images 2018-06-25 18:00:05 +02:00
Vincent Prouillet ef543b3d2b Make co-located asset link permalinks 2018-06-25 18:00:05 +02:00
Vincent Prouillet d39edd8ecb Allow links in headers 2018-06-25 18:00:05 +02:00
Vincent Prouillet 85e13483eb Use the new shortcode parser 2018-06-25 18:00:05 +02:00
Vincent Prouillet 204f514c0e WIP: new markdown rendering 2018-06-25 17:59:04 +02:00
Vincent Prouillet b892c07ed3 Don't hardcode the ws port
Closes #282
2018-06-25 17:59:04 +02:00
Vincent Prouillet 3e6054a9ac tempdir -> tempfile 2018-06-25 17:57:33 +02:00
Vincent Prouillet 7f48b9bee8 Update more deps and appveyor config 2018-06-22 13:39:29 +02:00
Vincent Prouillet d9dbf4d567 Fix internal links to content dir not working
Closes #275
2018-03-29 14:55:26 +02:00
Vincent Prouillet 9c0dd95bdb Fix theme shortcode not being useable
Closes #272
2018-03-28 21:09:08 +02:00
Vincent Prouillet d67211bfd6 Fix many shortcode parsing issues
Closes #228
Closes #229
2018-03-28 19:41:04 +02:00
Vincent Prouillet e40e97711f Some more bits about continue_reading anchor 2018-03-28 17:01:14 +02:00
Tim DuBois c8dfc5156a
Change naming convention 2018-03-27 07:38:04 +02:00
Tim DuBois 0a34184ac5
Anchor tag for summary 2018-03-25 13:05:42 +02:00
Vincent Prouillet 73ddbf7152 Write some docs 2018-03-21 16:18:24 +01:00
Vincent Prouillet 2c538d3776 Fix some bugs in search 2018-03-20 23:08:20 +01: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 bcf42a0c10 The wonders of serde default, take 2 2018-03-20 18:42:42 +01:00
Vincent Prouillet d0137377d5
Merge pull request #264 from ErichDonGubler/sass-indented-syntax
Make indented syntax available for SASS via the "sass" file extension
2018-03-19 18:46:07 +01:00
Erich Gubler 0d8dc656f1 CR review: s/Options/SassOptions/, break bail args in compile_sass into multiple lines 2018-03-19 10:04:48 -06:00
Vincent Prouillet 43db3a43ff Do not require themes to have a static folder 2018-03-18 09:34:37 +01:00
Vincent Prouillet ac8f3a6353
Merge pull request #255 from ErichDonGubler/sass-folders
Preserve folder structure of SCSS content
2018-03-17 20:39:19 +01:00
Erich Gubler ea4cc63aa9 Make indented syntax available for SASS via the "sass" file extension 2018-03-17 13:23:02 -06:00
Erich Gubler 9fbbcca3c6 Preserve folder structure of SCSS content 2018-03-17 13:22:23 -06:00
Vincent Prouillet 00729581f9 Break sorting ties by a-z ordering
Closes #259
2018-03-17 18:08:02 +01:00
Vincent Prouillet 3a2dab5974 Sort sitemap elements by permalink
Closes #257
2018-03-17 14:34:02 +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
Vincent Prouillet 1e25117887 Fix date serializing in extra section of pages
Closes #238
2018-03-01 14:49:34 +01:00
Vincent Prouillet de80de1628 Mention 2x serde attributes is not a typo 2018-03-01 11:57:04 +01:00
Vincent Prouillet f218f2eaf5
Merge pull request #240 from PhilipDaniels/next
Filter ignored content in page.rs.
2018-02-27 08:37:26 +01:00
Philip Daniels 92f38d1b70 Remove unnecessary if when compiling the glob set. 2018-02-25 21:28:04 +00:00
Philip Daniels 045e9def21 globset can be a dev-dependency in 'content' 2018-02-25 21:00:47 +00:00
Vincent Prouillet 5c56278be1 Let people edit their index.md
Closes #241
2018-02-25 19:29:48 +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 54841b19bb
Merge pull request #220 from Keats/markdown-inline
Markdown inline
2018-02-02 17:29:16 +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 29ce510aa3 Add inline option of markdown filter
Fix #197
2018-01-26 16:22:38 +01:00
Vincent Prouillet 49793314a0 Update benchmarks 2018-01-26 16:07:44 +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 8c7e3d7358 Remove stray println 2018-01-22 13:54:10 +01:00
Vincent Prouillet f37992e03a Do not unwrap on serve 2018-01-22 13:46:36 +01:00
Vincent Prouillet b06f012be4 Fix tests wrt language_code 2018-01-16 13:49:49 +01:00
Baptiste Darthenay 046de8c998 Config with i18n 2018-01-15 17:54:06 +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 129e693521 Add default templates 2017-11-27 18:09:09 +01:00
Vincent Prouillet cfefb45913 Update to Tera 0.11 beta 2017-11-26 10:07:34 +01:00
Vincent Prouillet 021c99c5f0 Fix tests and add taxonomies to changelog 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
Carson Page 8759323a16 Add trailing_slash opt. to get_url (#173)
* Added inital trailing_slash impl

* Added simple test

* Updated docs website to use trailing_slash option

* Updated documentation to reflect new trailing_slash option

* Added combined cachebust and trailing_slash test
2017-11-26 10:07:34 +01:00
Jeff Parsons ca99bb0204 Expose to templates whether or not a page is draft
Useful if you are, e.g., generating an index of blog posts.
2017-11-01 14:30:09 +11:00
Vincent Prouillet c8f07d8242 Update deps 2017-10-31 17:02:34 +01:00
Vincent Prouillet 791fbe685b Add page and section components 2017-10-31 16:41:31 +01:00
Vincent Prouillet 744e0f8df1
Merge pull request #162 from RadicalZephyr/shortcode-hacky-fix
Hack fix and new tests for body-shortcodes
2017-10-31 08:39:04 +01:00
Vincent Prouillet 4719dca100 Remove unused file 2017-10-31 08:36:20 +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
Reilly Tucker Siemens e662f73438 Hack fix and new tests for body-shortcodes 2017-10-29 18:02:48 -07:00
Vincent Prouillet bfdfe3bba3 Properly parse shortcode arg value types 2017-10-26 17:03:26 +02:00
Vincent Prouillet 1d8df5774f Allow static folder to be missing 2017-10-25 14:49:54 +02:00
Vincent Prouillet d4779aa2ed Fix generated index section not found in get_section 2017-10-24 20:32:46 +02:00
Vincent Prouillet 404240ef82 Fix some index related bugs 2017-10-24 20:11:39 +02:00
Vincent Prouillet 9d0f84051d Add test for unterminated shortcode# 2017-10-23 15:54:32 +02:00
Vincent Prouillet 7d7efdd6ea Handle markdown parser potentially splitting shortcodes 2017-10-23 14:18:05 +02:00
Vincent Prouillet bddf2b53fd Add a test for shortcodes with arg 2017-10-23 10:57:39 +02:00
Vincent Prouillet ca5bdc8f3c Do not ignore shortcodes without args 2017-10-23 10:49:23 +02:00
Vincent Prouillet bdcad38310 Finishing up site (#131)
* Finishing up site

* Make site a bit responsive

* Fix menu responsiveness

* Remove Fira Sans and revamp a bit text

* Update list of syntax and change output of syntax

* Add Rust mention

* Some doc tweaks

* Correct capitalization for GitHub

Correct capitalization for GitHub

* Some CSS tweaks

* More css tweaks + favicon

* Add link to my site
2017-10-19 13:48:50 +02:00
Vincent Prouillet f26b9d53bd url -> path in page front-matter 2017-10-04 09:35:37 +09:00
Vincent Prouillet a24851790c Fix bug with colocated folders 2017-10-04 09:23:25 +09:00
Vincent Prouillet 5aed3a4a1d Default to compressed sass output 2017-10-04 00:03:06 +09:00
Vincent Prouillet 2db7ec4843 Remove deprecated link param of get_url 2017-10-03 23:25:02 +09:00
Vincent Prouillet 97d5561569 Next version will be 0.2.0 2017-10-03 20:50:34 +09:00
Vincent Prouillet 20c1947b47 Clippy run 2017-10-02 20:16:56 +09:00
Vincent Prouillet 952b6679ce Change taxonomies to be sorted a-z and add permalinks 2017-10-01 14:04:30 +09:00
Vincent Prouillet 57b87aa50a Add more docs pages 2017-10-01 12:51:43 +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 c2b190513e Refactor markdown header rendering 2017-09-27 23:09:13 +09:00
Vincent Prouillet 5d7e0bb33e Register all Tera global fns on change 2017-09-26 17:25:55 +09:00
Vincent Prouillet f11cc6abb4 Serialize page & section paths is, without leading slash 2017-09-26 17:21:08 +09:00
Vincent Prouillet b248b03045 Allow sorting subsections by weight 2017-09-26 17:04:18 +09:00
Vincent Prouillet 2d97786e67 Add back drafts 2017-09-25 18:55:43 +09:00
Vincent Prouillet 195b760fdc Fix subsection pages not being filled correctly 2017-09-12 16:13:10 +09:00
Vincent Prouillet f58e416b96 Clippy run 2017-08-31 18:01:26 +09:00
Vincent Prouillet e1ee6b9dc4 Add test for extending theme template 2017-08-30 22:11:17 +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 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 2beb0621ca Add a redirect_to parameter to section front matter
Close #103
2017-07-25 16:58:00 +09:00
Vincent Prouillet 26011e4c94 Update sass-rs 2017-07-25 16:57:31 +09:00
Vincent Prouillet c61518225b Fix RSS feed; close #101 2017-07-15 12:51:43 +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 7ace63a6c5 Use compile_file for sass 2017-07-09 11:37:05 +09:00
Vincent Prouillet d78477b619 Add Sass support for *nix 2017-07-06 22:19:50 +09:00
Vincent Prouillet 3cb4641f1f Remove sections for index page and clean up pager 2017-07-06 18:51:36 +09:00
Vincent Prouillet ae8335c84b Parallelize taxonomy rendering 2017-07-05 19:34:41 +09:00
Vincent Prouillet 015f146792 Put back a limit on rss feed number of pages 2017-07-05 12:18:37 +09:00
Vincent Prouillet 0b38568015 Previous behaviour of populate was correct so reverting back to it 2017-07-05 12:04:00 +09:00
Vincent Prouillet 998283d17c Faster render_sitemap 2017-07-05 08:27:27 +09:00
Vincent Prouillet ce704097a4 Add benches for rendering crate 2017-07-04 21:27:32 +09:00
Vincent Prouillet 3022598649 Add one bench for rendering html of page 2017-07-04 19:55:28 +09:00
Vincent Prouillet 37af36186a Improve sorting speed 2017-07-04 18:33:58 +09:00
Vincent Prouillet c3b525745e Convert project to a workspace 2017-07-01 16:47:41 +09:00