Markdown diagrams and code block render hooks. Now it's possible create custom templates for Markdown code blocks, either for all or just for specific programming languages. This can also be used to render diagrams from Markdown code blocks. We provide GoAT (Go ASCII Tool) natively from Hugo, but you can also add your own template to get Mermaid support. The implementation of GoAT is a Go implementation by @blampe of markdeep.mini.js' diagrams. See the diagram documentation for details.
This means that you can write diagrams as text directly into diagrams, so this:
```goat
. . . .--- 1 .-- 1 / 1
/ \ | | .---+ .-+ +
/ \ .---+---. .--+--. | '--- 2 | '-- 2 / \ 2
+ + | | | | ---+ ---+ +
/ \ / \ .-+-. .-+-. .+. .+. | .--- 3 | .-- 3 \ / 3
/ \ / \ | | | | | | | | '---+ '-+ +
1 2 3 4 1 2 3 4 1 2 3 4 '--- 4 '-- 4 \ 4
```
Will be rendered as:
Also new in this release are:
- The new CLI flag
--printUnusedTemplates
which prints templates not being invoked during the build. - The new method
$image.Crop
allows images to be cropped without being resized (thanks @johnsvenn for the implementation).
Notes
- We have renamed some command line flags for consistency: --i18n-warnings to printI18nWarnings, --path-warnings, --print-men to --printPathWarnings, --printMemoryUsage.
- Finally remove deprecated Page methods 9563c7d @bep #4117
This release represents 107 contributions by 13 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @jmooring and @moorereason for their ongoing contributions. And thanks to @digitalcraftsman for his ongoing work on keeping the themes site in pristine condition.
Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 7 contributions by 5 contributors. A special thanks to @jmooring, @LukeDeWaal, @andrewmjorda, and @chalin for their work on the documentation site.
Hugo now has:
- 57328+ stars
- 429+ contributors
- 416+ themes
Changes
- docs: Regenerate docs helper 12d00d2 @bep
- markup/highlight: Ignore HL_lines_parsed in the gen docs 260ff13 @bep
- cod: Regen CLI docs 14915a0 @bep
- tpl/diagrams: Rename the SVG accessor to Wrapped fd0c1a5 @bep
- markup/highlight: Rework the return value from HighlightCodeblock 3ad3900 @bep #9573
- tpl/transform: Add CanHighlight 39261b6 @bep #9573
- Rename Codeowners() to CodeOwners() cff1414 @bep
- tpl/diagrams: Rename Body to Inner 5f67151 @bep
- CodeblockContext method renames f710977 @bep #9577
- build(deps): bump github.com/tdewolff/minify/v2 from 2.9.29 to 2.10.0 e1f6969 @dependabot[bot]
- markup/goldmark: Adjust test for Windows 5f65c17 @bep
- markup/goldmark: Improve attributes vs options 579ff9b @bep #9571
- markup/goldmark: Add Position to CodeblockContext 928a896 @bep #9574
- markup/goldmark: Unify some code block tests 2e54c00 @bep
- Remove the trailing new line in .Code 10928a4 @bep #9572
- markup/goldmark: Rename extension struct afd63bf @bep
- build(deps): bump github.com/gobuffalo/flect from 0.2.3 to 0.2.4 228126b @dependabot[bot]
- markup/goldmark: Use Ordinal to create default lineanchors 0f80be3 @bep #9567
- build(deps): bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 78afdb8 @dependabot[bot]
- build(deps): bump github.com/sanity-io/litter from 1.5.1 to 1.5.2 3ed8322 @dependabot[bot]
- Move the Goat template to the correct place 1a257bb @bep #7765
- build(deps): bump google.golang.org/api from 0.63.0 to 0.70.0 97514f1 @dependabot[bot]
- Update error message about failed menus in config.toml 0df096b @RheingoldRiver
- build(deps): bump github.com/getkin/kin-openapi from 0.85.0 to 0.90.0 308ad61 @dependabot[bot]
- Add test for line anchor attributes with code fences 6bffcdb @kaushalmodi
- build(deps): bump github.com/evanw/esbuild from 0.14.22 to 0.14.23 7248f43 @dependabot[bot]
- Add Markdown diagrams and render hooks for code blocks 08fdca9 @bep #7765 #9538 #9553 #8520 #6702 #9558
- build(deps): bump github.com/aws/aws-sdk-go from 1.41.14 to 1.43.5 2c20f5b @dependabot[bot]
- build(deps): bump github.com/google/go-cmp from 0.5.6 to 0.5.7 723b2c4 @dependabot[bot]
- Add support for CODEOWNERS 06bac57 @marshall007 #9474
- Remove Viper as a dependency ec8b767 @bep
- helpers: Allow hyphens in UnicodeSanitize 6407b2c @moorereason #7288
- Change
disqus_config
towindow.disqus_config
6ff39fd @Akimon658 - deps: Update github.com/spf13/cobra v1.2.1 => v1.3.0 96c0bdf @anthonyfok
- Add page.Store e97d3c6 @bep #9546
- Allow images to be cropped without being resized 7732da9 @johnsvenn #9499
- commands: Fix server panic regression aebde49 @bep #9518 #9530 #9539
- markup/goldmark: Add BenchmarkCodeblocks 4ada094 @bep
- deps: Update github.com/gohugoio/localescompressed v0.14.0 => v0.15.0 bddcfd9 @jmooring #9446
- deps: Update github.com/yuin/goldmark v1.4.4 => v1.4.7 d485f95 @bep #9397
- modules: Add modules.Workspace config for Go 1.18 a87be59 @bep #9525
- Update stale.yml b0eea00 @bep #9522
- Update stale.yml ef8b781 @bep #9522
- github: Configure stale to be run manually 3136ff6 @bep #9522
- tpl/partials: Fix recently introduced deadlock in partials cache 9298081 @bep #9519
- tpl/partials: Add some more partials to BenchmarkIncludeCached 667f3a4 @bep
- deps: Update github.com/evanw/esbuild v0.14.11 => v0.14.22 c061b25 @bep
- tpl/partials: Make sure a cached partial is invoked only once 0927cf7 @bep #4086 #9506
- build(deps): bump github.com/rogpeppe/go-internal from 1.8.0 to 1.8.1 26a5e89 @dependabot[bot]
- build(deps): bump github.com/magefile/mage from 1.11.0 to 1.12.1 e9fa7e8 @dependabot[bot]
- markup/goldmark: Exclude event attributes from markdown render hook ff545f4 @jmooring #9511
- markup/goldmark: Fix mangling of headers/links in render hooks b2a827c @bep #9504
- markup/goldmark: Add a render hook benchmark 77c7059 @bep #9504
- Fix BenchmarkCascadeTarget f4c90bd @bep
- metrics: Add cached count tracking d162283 @moorereason #8375
- tpl: Remove TODO comment ea6bcd6 @bep
- Add --printUnusedTemplates f2e7b49 @bep #9502
- deps: Update github.com/tdewolff/minify/v2 v2.9.22 => v2.9.29 923419d @jmooring #9244 #9132
- commands: Rename --i18n-warnings to printI18nWarnings 837fdfd @bep
- commands: Rename --path-warnings, --print-men to --printPathWarnings, --printMemoryUsage 6819fea @bep
- deps: Update github.com/alecthomas/chroma v0.9.4 => v0.10.0 ea54a99 @bep
- Finally remove deprecated Page methods 9563c7d @bep #4117
- tpl: Use go:embed to load internal templates b0a9cf0 @bep #8297
- releaser: Prepare repository for 0.93.0-DEV 9433cc2 @bep
- releaser: Bump versions for release of 0.92.2 cdf6a0d @bep
- releaser: Add release notes for 0.92.2 [ci skip] bf1fa71 @bep
- Add HUGO_ENV to the os/exec environment 4f4cec7 @jmooring #9490
- Simplify some integration tests da4866c @bep
- Fix validation of Page Kind in cascade target map d1109f5 @jmooring #8888
- Add another cascade benchmark a7d182c @bep
- commands: Fix server deadlock on config error a2a660e @bep #9486
- Exclude event attributes when rendering markdown f7bc4cc @jmooring #9463
- Remove the "check" command 54f8d8a @jmooring #9454
- Update the application/javascript media type 3036d0a @jmooring #9483
- tpl/templates: Fix templates.Exist issue with base templates 6a238a7 @bep #9477
- Add a migration test helper f60714b @bep
- babel: Port integration tests to their own package 215a715 @bep
- js: Port integration tests to its own package d128d26 @bep
- postcss: Move integration test to its own package c4aaf1d @bep
- minifier: Port integration tests to its package 94f10cf @bep
- templates: Port integration test to its package b06c210 @bep
- tocss: Port integration tests to their package d22f779 @bep
- openapi3: Port integration test into correct package 39f69ca @bep
- Add a new integration test framework 64f75ad @bep
- Validate comparison operator argument count 9262719 @jmooring #9462
- Remove hugo gen autocomplete 3336762 @jmooring #8862
- deps: Update github.com/pelletier/go-toml/v2 to v2.0.0-beta.6 5ca40c8 @bep #9439 #9417
- Fix erroneous warning with .Page.RenderString on a page without a backing file ef7d14a @bep #9433
- Fix typo in panicOnWarning message c05c99f @jmooring
- releaser: Prepare repository for 0.93.0-DEV ff7689c @bep
- releaser: Bump versions for release of 0.92.1 85e2e86 @bep
- releaser: Add release notes for 0.92.1 [ci skip] 515f8a6 @bep
- Make the RenderString content provider fix more general f22c4ab @bep #9383
- Fix .RenderString issue in .Translations 85d31f7 @ptgott #9383
- general: Fix issue causing log threads to hang indefinitely when print() panics 2205517 @Ephex2 #9380
- Fix duplicate mount sources 7a080b6 @bep #9426
- tpl/collections: Fix apply with namespaced template funcs 2655739 @bep #9393
- common: Remove unused code 348d300 @bep
- common/paths: Remove unused code 6f07bdb @bep
- helpers: Remove unused code 55a9bc1 @bep
- Do not render hl_style as an HTML attribute 20a7ce7 @jmooring #9390
- build(deps): bump github.com/spf13/viper from 1.8.1 to 1.10.1 8cd4492 @dependabot[bot]
- Fixing typos (#9387) 9d8f318 @deining
- Fix typo in warning message fcbbbef @deining
- github: Clean up the issue templates a little 6041adc @bep
- github: Add lock-threads step 408da43 @bep
- releaser: Prepare repository for 0.93.0-DEV ed04ed5 @bep