Commit graph

1526 commits

Author SHA1 Message Date
Sam Ford 11f7a6d114 Mock HTTP requests in tests (#898)
Certain tests involving HTTP requests were sometimes hanging
indefinitely, so this uses Mockito for HTTP mocking. This seemingly
resolves the issue and makes these tests more reliable.

The existing can_fail_404_links test has been renamed to
can_fail_unresolved_links, to represent what actually occurs in the
test. The can_fail_404_links test now deals with a proper 404
response.

Just to be clear, the check_site test in the site component will
still create outgoing HTTP requests (due to the URLs used in the
test_site), so this commit only uses HTTP mocking where possible.
2020-02-02 17:48:43 -08:00
Vincent Prouillet adee654f30 Print remove_dir_all error on ctrl-c 2020-02-02 17:48:43 -08:00
Sam Ford 2f1b592ab4 link_checker: Handle non-success status codes (#897)
The can_fail_404_links() test doesn't encounter a 404 response in
actuality, since the google.comys domain doesn't resolve. When the
test is updated such that the response's status code is a 404, the
test fails because the check_url() function doesn't handle
non-success responses how the test's assertions expect. This commit
updates check_url() to handle non-success responses, treating them
much like errors.
2020-02-02 17:48:43 -08:00
Sam Ford b63c563622 Format code using cargo fmt (#896) 2020-02-02 17:48:43 -08:00
Sam Ford bcd73aef8d Bump minimum Rust version to 1.39.0 (#895)
async/await will be used in upcoming changes, so we need to bump the
minimum Rust version to 1.39.0 to use it.
2020-02-02 17:48:43 -08:00
Sam Ford 658e8a3a66 Update livereload.js to v3.1.0 (#891) 2020-02-02 17:48:43 -08:00
Sam Ford e804f907b2 Use Rust 2018 edition (#885) 2020-02-02 17:48:43 -08:00
Vincent Prouillet ceb9bc8ed7 Optionally do not slugify paths (#875)
* maybe_slugify() only does simple sanitation if config.slugify is false

* slugify is disabled by default, turn on for backwards-compatibility

* First docs changes for optional slugification

* Remove # from slugs but not &

* Add/fix tests for utf8 slugs

* Fix test sites for i18n slugs

* fix templates tests for i18n slugs

* Rename slugify setting to slugify_paths

* Default slugify_paths

* Update documentation for slugify_paths

* quasi_slugify removes ?, /, # and newlines

* Remove forbidden NTFS chars in quasi_slugify()

* Slugification forbidden chars can be configured

* Remove trailing dot/space in quasi_slugify

* Fix NTFS path sanitation

* Revert configurable slugification charset

* Remove \r for windows newlines and \t tabulations in quasi_slugify()

* Update docs for output paths

* Replace slugify with slugify_paths

* Fix test

* Default to not slugifying

* Move slugs utils to utils crate

* Use slugify_paths for anchors as well
2020-02-02 17:48:43 -08:00
Sam Ford 0a0b6a3ad4 Fix Clippy warnings (#886)
This addresses the following Clippy warnings:

* clippy::option_and_then_some
* clippy::useless_format
2020-02-02 17:48:43 -08:00
Vincent Prouillet 8e3f1f59f6 Update Tera 2020-02-02 17:48:43 -08:00
Philipp Oppermann 72373bea9b Add path to TranslatedContent (#863)
* Add path to `TranslatedContent`

This makes it possible to retrieve the translated page through the `get_page` function.

* Use TranslatedContent::path field in test_site_i18n

Use it with the `get_page` function to get a reference to the page object.
2020-02-02 17:48:43 -08:00
Vincent Prouillet 73ea4b3b16 Finish path collision & fix paginate_path when empty
Closes #866
2020-02-02 17:48:43 -08:00
Vincent Prouillet 5532f62c2d Check for paths collisions
Closes #366
2020-02-02 17:48:43 -08:00
Vincent Prouillet 6153d20047 Link to issues for regression tests 2020-02-02 17:48:43 -08:00
Philipp Oppermann 3362df4a48 Compute canonical path before adjusting parent path (#856)
* Compute canonical path before adjusting parent path

* Don't use adjusted `parent` to recalculate `canonical` in `find_language`

* Add regression tests

- Test for correct canonical field when calling `new_page`
- Test for correct canonical field after calling `find_language`
2020-02-02 17:48:43 -08:00
Vincent Prouillet 7a09e0f971 Update deps 2020-02-02 17:48:43 -08:00
Stan Rozenraukh a89b30073c Section extra -> SitemapEntry (#850) 2020-02-02 17:48:42 -08:00
Vincent Prouillet 1a6edbcf63 Fix some doc changes 2020-02-02 17:48:42 -08:00
photong 51d4b6bd6a Simple clean up of documentation. (#849)
* Update installation.md

* Update cli-usage.md

* Update installation.md

* Update directory-structure.md

* Update configuration.md

* Update overview.md

* Update section.md

* Update page.md

* Update section.md

* Update configuration.md

* Update page.md

* Update section.md

* Update page.md

* Update shortcodes.md

* Update linking.md

* Update table-of-contents.md

* Update syntax-highlighting.md

* Update taxonomies.md

* Update search.md

* Update sass.md

* Update index.md

* Update multilingual.md

* Update overview.md

* Update pages-sections.md

* Update pagination.md

* Update taxonomies.md

* Update rss.md

* Update sitemap.md

* Update robots.md

* Update 404.md

* Update archive.md

* Update overview.md

* Update installing-and-using-themes.md

* Update creating-a-theme.md

* Update netlify.md

* Update github-pages.md

* Update gitlab-pages.md

* Update index.md

* Update page.md

* Update section.md

* Updates.
2020-02-02 17:48:42 -08:00
Tjeu Kayim 75570d041a Skip link checking for URL with prefix in config (#846) 2020-02-02 17:47:01 -08:00
Morgan e8dc33ad08 fixes #844 duplicate entries in doc (#845) 2020-02-02 17:47:01 -08:00
Vincent Prouillet ea5a106d6e Update changelog 2020-02-02 17:45:16 -08:00
Vincent Prouillet a3186091db Update changelog 2020-02-02 17:45:16 -08:00
Laurent Arnoud aaaed31f9c Add title and body to alias page (#830) 2020-02-02 17:45:16 -08:00
Vincent Prouillet d624f7ec8b Update base64 2020-02-02 17:45:16 -08:00
Ryan Riginding 94b49dad09 fix(init): handle already existing path (#815)
* fix(init):  handle already existing path

* chore: add tests
2020-02-02 17:45:16 -08:00
Geobert Quach 3f166285de Paginator total pages (#829)
* feat(pagination): Add `total_pages` in paginator object

* feat(pagination): Added doc for `total_pages`

* feat(pagination): Added test for `total_pages`
2020-02-02 17:45:16 -08:00
Jochen Kupperschmidt 587d7396b3 Properly escape & in injected live-reload script tag (#825)
"[…] `&` normally indicates the start of a character entity reference or
numeric character reference; writing it as `&` […] allows `&` to be
included in the content of an element or in the value of an attribute."

From: https://en.wikipedia.org/wiki/HTML#Character_and_entity_references
2020-02-02 17:45:16 -08:00
Jochen Kupperschmidt b3bc8a8896 Do not attempt to serve on "well-known" ports (#824) 2020-02-02 17:45:16 -08:00
Vincent Prouillet 243702e2c2 Update tera 2020-02-02 17:45:16 -08:00
Tjeu Kayim 6149fd17e1 Skip anchor checking for URL with prefix in config (#812)
* cargo fmt & clippy

* Skip anchor checking for URL with prefix in config
2020-02-02 17:45:16 -08:00
Bob 4aa2ba84fc Let toc is visable through Page & Section variables in templates (#818)
* Let toc is visable through Page & Section variables in templates

* Removed the current toc variable from page & section
2020-02-02 17:44:38 -08:00
Michael Macias b1ceb3e80e rendering: Avoid prepending URL prefix to links that start with a scheme (#817)
Links that start with a scheme (e.g., `tel:18008675309`) inadvertently
had a URL prefix prepended. Previously, only `mailto:` was handled, but
given the sheer number of [registered URI schemes][uri-schemes], a loose
pattern matcher is used to detect schemes instead.

External links, as identified by the renderer, are now limited to `http`
and `https` schemes.

Fixes #747 and fixes #816.

[uri-schemes]: https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
2020-02-02 17:44:38 -08:00
Vincent Prouillet cb4056c0f2 Add zenburn theme
Closes #813
2020-02-02 17:44:38 -08:00
Vincent Prouillet 6856b11d6d Looks like it now requires 1.36 2020-02-02 17:44:38 -08:00
Christopher Vittal 319985add4 Reset color after writing message in colorize
Presently when you `^C` in `zola serve` it is painted with the same
color as the previous message. This PR always ensures to reset the color
in colorize, before writing the newline.
2020-02-02 17:44:38 -08:00
Vincent Prouillet 0578e97d2f Start 0.10 2020-02-02 17:44:38 -08:00
Neeraj Jaiswal ffb4ebb245
Update dockerfile to remove hardcoded version number (#939) 2020-02-02 17:42:43 -08:00
Pierre-Edouard Guerin eed0cd1196 add guerinpe.com to EXAMPLES.md (#933)
Hello !
I'm proposing my ZOLA blog to fill your examples list.

I'm very satisfied by ZOLA, thanks you for creating all this.

Pierre
2020-01-22 08:11:48 -08:00
Jonas Platte 9970bb2c25 Add blog.turbo.fish to EXAMPLES.md (#926) 2020-01-18 18:10:43 +01:00
Christopher Murphy 21b45aff10 fix: update year in docs template (#917)
Updated the copyright year in the docs template to reflect the new year.
2020-01-10 10:30:42 +01:00
Peter Lyons 0a754d004c Add peterlyons.com to EXAMPLES (#914) 2020-01-08 10:33:59 +01:00
Einar e194294664 Pages -> Page (#903) 2019-12-26 13:55:54 +01:00
Eduardo Pinho 1bafec4309 Update links to Tera documentation (#873)
- "/templates" section is gone upstream
2019-12-10 07:00:58 +01:00
Klaus Purer 9ee71314bc docs(examples): Add klau.si example (#872) 2019-12-09 09:19:36 +01:00
Fangdun Cai 3a33aa188a Update EXAMPLES.md (#870) 2019-12-06 13:12:27 +01:00
Andrey Lesnikov 36431c5700 EXAMPLES: rust-gamedev.github.io & arewegameyet.rs (#869) 2019-12-06 13:11:05 +01:00
David Authier f4b6f63d3c 📝 Add TOML translations key example (#864) 2019-11-28 19:18:52 +01:00
Trevor D. Miller 6d7c95e8cb Add example site (#852) 2019-11-26 20:37:10 +01:00
Bruno Rocha df7d128713 Add codeshow.com.br to EXAMPLES.md (#847) 2019-11-18 19:53:04 +01:00