Commit graph

2098 commits

Author SHA1 Message Date
Heitor
a1ac81681b Atom template authors (#2259)
* templates:atom: add support for multiple authors

Atom 1.0 [0] support multiple `<author>` entries in the feed. This commit
modified the template to generate as many `<author>` as the page's
metadata contains.

[0] https://validator.w3.org/feed/docs/atom.html#recommendedEntryElements

* Test we can have multiple authors in ATOM feeds
2023-12-18 23:24:06 +01:00
William Ouwehand
c18a0c8031 always sort assets by filename (Windows/Linux difference) (#2236)
* sort page.assets by filename

Uses .to_str() to sort files and subfolders.

The .unwrap() may need work or be replaced by unwrap_or_default(). Given
earlier checks in the function it should work however.

* add tests for assets sorting

* fix rustfmt

* use existing loop instead of windows

* also check the non-recursive test

* use .zip() and add assert msg
2023-12-18 23:24:06 +01:00
TheOnlyMrCat
2532198acb Prevent spans crossing line boundaries in class-based code block formatter (#2237)
* Prevent spans crossing line boundaries in class formatter

* Add snapshot tests for classed highlighting
2023-12-18 23:24:06 +01:00
sinofp
22dc32a589 Add support for lazy loading images (#2211)
* Add optional decoding="async" loading="lazy" for img

In theory, they can make the page load faster and show content faster.

There’s one problem: CommonMark allows arbitrary inline elements in alt text.
If I want to get the correct alt text, I need to match every inline event.

I think most people will only use plain text, so I only match Event::Text.

* Add very basic test for img

This is the reason why we should use plain text when lazy_async_image is enabled.

* Explain lazy_async_image in documentation

* Add test with empty alt and special characters

I totaly forgot one can leave the alt text empty.
I thought I need to eliminate the alt attribute in that case,
but actually empty alt text is better than not having an alt attribute at all:
https://www.w3.org/TR/WCAG20-TECHS/H67.html
https://www.boia.org/blog/images-that-dont-need-alternative-text-still-need-alt-attributes
Thus I will leave the empty alt text.

Another test is added to ensure alt text is properly escaped.
I will remove the redundant escaping code after this commit.

* Remove manually escaping alt text

After removing the if-else inside the arm of Event::Text(text),
the alt text is still escaped.
Indeed they are redundant.

* Use insta for snapshot testing

`cargo insta review` looks cool!

I wanted to dedup the cases variable,
but my Rust skill is not good enough to declare a global vector.
2023-12-18 23:24:06 +01:00
Andrew Langmeier
0a9bfa16c2 Hard link serve panic fix (#2210)
* Fix hard link panic and add better error info to std:fs errors

* cargo fmt

* Remove erroneously committed config change

* Remove console import; Use with context to provide additional error info

* improve error wording
2023-12-18 23:24:06 +01:00
Vincent Prouillet
448a941f93 Fix typo in error message 2023-12-18 23:24:06 +01:00
Andrew Langmeier
8e37025729 Add search.index_format into the serialized config (#2165) (#2196)
* Add search into the serialized config (#2165)

* Only expose index_format

* Create config.search struct

* cargo fmt
2023-12-18 23:24:06 +01:00
Jake G
d72ebb1bdb Fix multi-lingual json index (#2197)
* Fix multi-ligual json index

* multi-lingual search Fix cargo fmt
2023-12-18 23:24:06 +01:00
Jeremy Kerr
63054a96d2 templates: add base URL for feed content (#2190)
Relative links in the entry content do not currently have a base URI, so
will be resolved relative to the feed URI:

Given an entry with the content:

    <a href="some-resource.bin">

And URIS of:

 * entry: https://example.org/blog/some-entry/
 * feed:  https://example.org/atom.xml

The link URI will end up as:

    https://example.org/some-resource.bin

rather than the URI that ends up resolved in the rendered page:

   https://example.org/blog/some-entry/some-resource.bin

The atom and RSS formats allow for an xml:base attribute (itself
specified in [1]) to provide a base URI of a subset of a document. This
change adds xml:base attributes to each entry, using the page permalink.

This gives us something equivalent to:

    <entry>
     <content xml:base="https://example.org/blog/some-entry/">
      <![CDATA[
       <a href="some-resource.bin">
      ]]>
     </content>
    </entry>

[1]: https://www.w3.org/TR/xmlbase/

Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
2023-12-18 23:24:06 +01:00
‏‏Dave
c61e925073 Implement replace_re filter (#2163)
* Implement replace_re filter

* Cargo fmt

* add regex caching

* cargo fmt

* update docs, update unit test

* rename replace_re -> regex_replace
2023-12-18 23:24:06 +01:00
Marcel
c0dd38b234 Speedup "zola check" command by reusing the Client (#2171)
* Reuse Client when checking urls and add timeout for requests
2023-12-18 23:24:06 +01:00
Ever
201d674da1 print error message when no config file found (#2168)
fixed #2195
2023-12-18 23:24:06 +01:00
Vincent Prouillet
18fbbe532a Next version 2023-12-18 23:24:06 +01:00
Vincent Prouillet
d4d0e4b02a Update syntax highlighting recc 2023-12-17 23:47:03 +01:00
Javier Pérez
8276551811
Update syntax-highlighting.md (#2366) 2023-12-09 21:35:57 +01:00
Spencer Scorcelletti
c031cc592c
Update documention for using zola + Cloudflare Pages per advice in https://github.com/cloudflare/pages-build-image/issues/3#issuecomment-1646873666 (#2364) 2023-11-30 23:14:57 +01:00
Vincent Prouillet
2774d4d410
Update themes gallery (#2356)
Co-authored-by: GitHub Action <action@github.com>
2023-11-13 10:29:04 +01:00
Vincent Prouillet
a7ffb3be81
Update themes gallery (#2349)
Co-authored-by: GitHub Action <action@github.com>
2023-11-04 20:03:29 +01:00
One
7d5ce5c230
Document author (#2347)
* Add author to documentation for config.toml

* Add explanation of how author is used for feeds
2023-10-30 19:03:29 +01:00
c-git
152eccc447
Change to updated version of checkout action (#2340) 2023-10-29 19:45:04 +01:00
Olivier Samyn
0b46736aff
Add multi-stage dockerfile build example (#2327)
* Add multi-stage dockerfile build example

* Simplify install instructions, add docker image deployment example
2023-10-21 22:38:17 +02:00
Vincent Prouillet
9097703b51
Update themes gallery (#2322)
Co-authored-by: GitHub Action <action@github.com>
2023-10-18 13:30:26 +02:00
Rik Huijzer
4f9158f6af
docs: show that base_url should contain protocol (#2328) 2023-10-16 08:51:23 +02:00
Grant Handy
6a612ca388
Simple console error message dialog in zola serve webpages (#2312)
* first attempt at injecting HTML into outgoing webpages

* finish error handling

* fix test_site debug line
2023-09-25 09:46:36 +02:00
Vincent Prouillet
a49af5fa48
Update themes gallery (#2309)
Co-authored-by: GitHub Action <action@github.com>
2023-09-22 11:07:16 +02:00
dxvsh
0a8b2b410a
Fix the link to the author's site (#2313) 2023-09-19 21:41:45 +02:00
Peter Todorov
fc98cafe4a
docs: added aws s3 deployment instructions page (#2299)
* docs: added aws s3 deployment instructions page

* docs: fixed a typo in AWS S3 docs
2023-09-13 21:13:06 +02:00
Peter Todorov
7a6ed08ce6
docs: added peterprototypes.com (#2302) 2023-09-12 22:07:13 +02:00
n0xas
97d74b78b7
docs: update gitlab page deployment (#2292)
Co-authored-by: romain dusson <romain.dusson@alterway.fr>
2023-09-06 22:26:38 +02:00
Oscar Dominguez
e5e1a2fdac
docs: update links to new Tera docs URL (#2289)
More context here: https://github.com/Keats/tera/issues/854#issuecomment-1698901568
2023-08-31 14:32:36 +02:00
Alex Rutar
e6fe81cdf3
fix broken link to Tera (#2286) 2023-08-29 22:18:45 +02:00
Steven Roose
49b56c3026
docs: Update installation.md to use --locked (#2284) 2023-08-24 21:08:37 +02:00
Vincent Prouillet
9ae7d15139
Update themes gallery (#2279)
Co-authored-by: GitHub Action <action@github.com>
2023-08-21 17:31:33 +02:00
Vincent Prouillet
e727f43fe0 Fix link to tera 2023-08-20 14:29:06 +02:00
Vincent Prouillet
08c218d22a Add CNAME file 2023-08-20 12:53:41 +02:00
Vincent Prouillet
4785ab2552 Start using GH pages for docs site 2023-08-20 12:35:21 +02:00
Óscar
74056d15ab
fix: styling conflict for code tags in li elements (#2273) 2023-08-15 21:49:45 +02:00
Dan Søndergaard
695c17d222
Add deployment tutorial for fly.io (#2252) 2023-07-23 17:13:02 +02:00
FineFindus
f93bd90020
docs(deploy-gh-pages): add workflow permissions (#2249) 2023-07-18 14:59:29 +02:00
Vincent Prouillet
d0ffb90f70
Update themes gallery (#2244)
Co-authored-by: GitHub Action <action@github.com>
2023-07-12 22:07:05 +02:00
Kot
a6bf8765a1
Clarify public dir in directory structure doc page (#2238) (#2240)
* Clarify `public` dir (#2238)

* Add `zola serve` to `public` dir description

* Move and rewrite `public` clarification
2023-07-06 16:06:15 +02:00
aadi
8dd1b30594
added aadi.net.in (#2232) 2023-06-19 17:36:29 +02:00
mehmetcan
11ca3666d0
update zola version (#2179) 2023-06-12 13:03:33 +02:00
Vincent Prouillet
5f4b95075a
Update themes gallery (#2220)
Co-authored-by: GitHub Action <action@github.com>
2023-06-12 13:02:53 +02:00
Aonghus Storey
864740a76f
docs: correct example use of Github GraphQL (#2230)
Fixes #2229
2023-06-09 17:55:32 +02:00
John Emhoff
d149afe07c
Shortcode documentation update (#2227)
* Details about using shortcodes

Explain how shortcodes differ from Tera template function calls

* Add path search order to image processing docs

I understand this is somewhat of an implementation detail, but it's required knowledge when you're trying to figure out why zola can't find your image.

* Update shortcodes.md

Drive home that shortcodes are completely unrelated to Tera

* Update shortcodes.md

Good grammar speak
2023-06-06 00:05:07 +02:00
Hildeberto Mendonça
0f819fc880
Using cargo install (#2218)
The tool is automatically built and added to the path when using `$ cargo install --path .`. It simplifies running Zola from the source.
2023-05-23 21:02:26 +02:00
Hildeberto Mendonça
e43b27e658
Documented CNAME file for custom domains (#2219) 2023-05-23 21:01:38 +02:00
Henri E. Francois
14f695e682
Clarifying documentation around themes. (#1541)
- Defined a theme in Zola
 - Clarified configuration of themes
 - Clarified theme template functionality
2023-05-19 12:44:40 +02:00
Connor Skees
252f3b3136
remove libsass from build instructions (#2217) 2023-05-17 09:25:01 +02:00