Lorenz Cuno Klopfenstein [Fri, 2 Nov 2018 08:09:02 +0000 (09:09 +0100)]
Fix ANSI character output regression on Windows
Fixes #5377
Bjørn Erik Pedersen [Thu, 1 Nov 2018 20:14:30 +0000 (21:14 +0100)]
hugolib: Remove deprecated useModTimeAsFallback
Bjørn Erik Pedersen [Thu, 1 Nov 2018 20:11:45 +0000 (21:11 +0100)]
hugolib: Bump to ERROR for the deprecated Pages.Sort
Bjørn Erik Pedersen [Thu, 1 Nov 2018 20:08:12 +0000 (21:08 +0100)]
hugolib: Deprecate .Site.Ref and .Site.RelRef
Fixes #5386
Bjørn Erik Pedersen [Thu, 1 Nov 2018 10:28:30 +0000 (11:28 +0100)]
Add file (line/col) info to ref/relref errors
See #5371
Bjørn Erik Pedersen [Thu, 1 Nov 2018 09:39:44 +0000 (10:39 +0100)]
hugolib: Add .Position to shortcode
To allow for better error logging in shortcodes. Note that this may be expensive to calculate, so this is primarily for error situations.
See #5371
Bjørn Erik Pedersen [Thu, 1 Nov 2018 09:04:51 +0000 (10:04 +0100)]
hugolib: Fix REF_NOT_FOUND logging to include page path
Fixes #5371
Bjørn Erik Pedersen [Thu, 1 Nov 2018 08:33:32 +0000 (09:33 +0100)]
common/loggers: Improve log color regexp
To avoid coloring WARNING inside log errors.
Bjørn Erik Pedersen [Tue, 30 Oct 2018 19:24:34 +0000 (20:24 +0100)]
hugolib: Fix broken manual summary handling
Fixes #5381
Bjørn Erik Pedersen [Tue, 30 Oct 2018 16:36:05 +0000 (17:36 +0100)]
tpl: Fix BOM issue in templates
Fixes #4895
Bjørn Erik Pedersen [Tue, 30 Oct 2018 10:15:15 +0000 (11:15 +0100)]
hugolib: Fix deadlock when content building times out
Fixes #5375
Christian Oliff [Mon, 29 Oct 2018 11:09:19 +0000 (20:09 +0900)]
Correct minor typo (#5372)
> Errors will no show up
should be:
> Errors will now show up
hugoreleaser [Mon, 29 Oct 2018 09:54:42 +0000 (09:54 +0000)]
releaser: Prepare repository for 0.51-DEV
[ci skip]
hugoreleaser [Mon, 29 Oct 2018 09:51:50 +0000 (09:51 +0000)]
releaser: Add release notes to /docs for release of 0.50
[ci skip]
hugoreleaser [Mon, 29 Oct 2018 09:51:50 +0000 (09:51 +0000)]
releaser: Bump versions for release of 0.50
[ci skip]
Bjørn Erik Pedersen [Mon, 29 Oct 2018 09:39:18 +0000 (10:39 +0100)]
Release 0.50
hugoreleaser [Mon, 29 Oct 2018 09:07:15 +0000 (09:07 +0000)]
releaser: Add release notes draft for 0.50
Rename to *-ready.md to continue. [ci skip]
Bjørn Erik Pedersen [Mon, 29 Oct 2018 08:42:53 +0000 (09:42 +0100)]
Update go.sum
Bjørn Erik Pedersen [Sun, 28 Oct 2018 22:55:51 +0000 (23:55 +0100)]
mod: Update minify
Closes #5261
Bjørn Erik Pedersen [Mon, 29 Oct 2018 08:29:27 +0000 (09:29 +0100)]
docs: Regenerate CLI docs
Bjørn Erik Pedersen [Mon, 29 Oct 2018 08:28:01 +0000 (09:28 +0100)]
Bjørn Erik Pedersen [Mon, 29 Oct 2018 08:28:01 +0000 (09:28 +0100)]
Squashed 'docs/' changes from
084804447..
37095d540
37095d540 Fix shortcode example
git-subtree-dir: docs
git-subtree-split:
37095d5403cb96f1dc5288d9554e270367f5c449
Bjørn Erik Pedersen [Mon, 29 Oct 2018 08:23:25 +0000 (09:23 +0100)]
Bjørn Erik Pedersen [Mon, 29 Oct 2018 08:19:20 +0000 (09:19 +0100)]
Squashed 'docs/' changes from
e5e98b950..
084804447
084804447 Update shortcode-templates.md
c01b02434 Correct misspelling of 'default'
52a831cca Added missing parenthesis
59e8e660a Fix spelling typos
29ad53c9c Yes, HTML is a valid content format
c6b193c6f Update shortcode-templates.md
1f2846e6d Fix typo in output format README
5882f7a4c Fix typo
a90a00bb0 Update multilingual.md
62bf0f184 Documentation for Open Graph & Twitter Cards
f4d624da3 Document "images", "videos", etc. in front-matter
6a85b5df1 Document anchorize and Resources.Content
04c8a5b0e Fix minor typo in 0.49.2 release note
dbe77e948 Release 0.49.2
ea6c9658e Merge branch 'temp492'
85c45b725 Merge branch 'release-0.49.2'
7ad1fba29 releaser: Prepare repository for 0.50-DEV
b25bcc3f2 releaser: Add release notes to /docs for release of 0.49.2
78b751b91 releaser: Bump versions for release of 0.49.2
e3f09762c Release 0.49.1
bd5b94558 Merge branch 'temp491'
0007e0661 Merge branch 'release-0.49.1'
74d2f3a6f releaser: Prepare repository for 0.50-DEV
bbee7e9d3 releaser: Add release notes to /docs for release of 0.49.1
ae40c89c7 releaser: Bump versions for release of 0.49.1
11079fb48 Add draft statement to FAQ
069b9472f Addin Hokus CMS to frontends list.
6e8850670 Add MediaType docs
f3ca6209a Add `languageName` to configuration
fd1cde5ea tpl: Add a delimiter parameter to lang.NumFmt
c620ff78a Update doc to use proper variable
7317c339a add tools->hugo-elasticsearch description to docs
d758ef94a hugolib: Introduce Page.NextPage and Page.PrevPage
9c93ac031 Update installing.md
7c0b5b7f5 Use ISO 639-1 code for examples
9a9e40ba8 Fix spelling
9a6216c18 Hugo 0.49
55aa91185 Merge branch 'temp49'
e0a36421e releaser: Prepare repository for 0.50-DEV
c07b3b385 releaser: Add release notes to /docs for release of 0.49
c1175a12a releaser: Bump versions for release of 0.49
2966f6254 docs: Document directory based archetypes
73dcd02ed Add showcase archetype folder
0a55ad11b docs: Regenerate CLI docs
e09866c2d docs: Document group
ef986358a Merge commit '
807c551922707fc5ae0eb26e8f01638c0c63fdb3'
681f14fc9 tpl/collections: Allow first function to return an empty slice
f6dcc93bc docs: Add docs for append
aae528ca3 Merge commit '
13e64d72763bf8d6d92d4cdfc15ed45ee9debfab'
02b62294c tpl/strings: Add strings.FirstUpper
bf3e61ba3 hugolib: Do not FirstUpper taxonomy titles
git-subtree-dir: docs
git-subtree-split:
084804447402ab99b51bf49f0da809bee8c16339
Bjørn Erik Pedersen [Sun, 28 Oct 2018 15:06:50 +0000 (16:06 +0100)]
common/loggers: Make sure the global logger also gets colored labels
See #4414
Bjørn Erik Pedersen [Sun, 28 Oct 2018 13:42:41 +0000 (14:42 +0100)]
i18n: Avoid using the global logger
See #4414
Bjørn Erik Pedersen [Wed, 24 Oct 2018 16:32:30 +0000 (18:32 +0200)]
common/loggers: Add color to ERROR and WARN
Fixes #4414
Bjørn Erik Pedersen [Sat, 27 Oct 2018 15:19:36 +0000 (17:19 +0200)]
common/herrors: Make the file error log format configurable
Will check for an OS environment variable named `HUGO_FILE_LOG_FORMAT`.
The tokens available are `:file` (absolute filename), `:line` (line number) and `:col` (column number).
The default format is: \":file::line::col\"`
How to set OS environment variables is OS specific, but an example on Unix setting an alternative format when running Hugo:
```bash
env HUGO_FILE_LOG_FORMAT="\":file::line\"" hugo
```
The above will include filename and line number quoted.
Fixes #5352
Bjørn Erik Pedersen [Sat, 27 Oct 2018 09:10:39 +0000 (11:10 +0200)]
common/collections: Allow a mix of slice types in append/Scratch.Add
The type handling in these was improved in Hugo 0.49, but this also meant that it was no longer possible to start out with a string slice and later append `Page` etc. to it.
This commit makes sure that the old behaviour is now possible again by falling back to a `[]interface{}` as a last resort.
Fixes #5361
Bjørn Erik Pedersen [Sat, 27 Oct 2018 08:00:43 +0000 (10:00 +0200)]
resource: Allow .Data.Integrity to be accessed on its own
Fixes #5296
Bjørn Erik Pedersen [Fri, 26 Oct 2018 17:30:01 +0000 (19:30 +0200)]
Revert "mod: Update minify"
This reverts commit
83c873ff37ddd379181540021232f026e7678486.
Bjørn Erik Pedersen [Fri, 26 Oct 2018 15:16:01 +0000 (17:16 +0200)]
mod: Update minify
Closes #5261
Bjørn Erik Pedersen [Fri, 26 Oct 2018 15:13:22 +0000 (17:13 +0200)]
mod: Update cast
Closes #5340
Bjørn Erik Pedersen [Fri, 26 Oct 2018 15:02:53 +0000 (17:02 +0200)]
commands: Truncate the error log on repeated config errors
Bjørn Erik Pedersen [Fri, 26 Oct 2018 13:10:43 +0000 (15:10 +0200)]
docs: Regenerate CLI docs
Closes #5354
Bjørn Erik Pedersen [Fri, 26 Oct 2018 11:45:51 +0000 (13:45 +0200)]
resource: Serialize image processing
Fixes #5220
Bjørn Erik Pedersen [Fri, 26 Oct 2018 12:32:32 +0000 (14:32 +0200)]
commands: Only show Ansi escape codes if in a terminal
Bjørn Erik Pedersen [Fri, 26 Oct 2018 07:41:24 +0000 (09:41 +0200)]
Fix archetype handling of directories in theme
Fixes #5318
Bjørn Erik Pedersen [Wed, 24 Oct 2018 20:15:57 +0000 (22:15 +0200)]
Revert "commands: Read disableFastRender from flag even if it's not changed"
On second thought, removing this isn't worth it.
This reverts commit
78a4c2e32ef9ea8e92bb7bb3586e4c22b02eb494.
Bjørn Erik Pedersen [Wed, 24 Oct 2018 18:33:07 +0000 (20:33 +0200)]
commands: Read disableFastRender from flag even if it's not changed
Fixes #5353
Bjørn Erik Pedersen [Wed, 24 Oct 2018 17:20:37 +0000 (19:20 +0200)]
comamnds: Use overflow-x: auto; for browser errors
Bjørn Erik Pedersen [Wed, 24 Oct 2018 15:22:07 +0000 (17:22 +0200)]
common/loggers: Remove the ANSI color for the browser error version
Bjørn Erik Pedersen [Wed, 24 Oct 2018 12:02:34 +0000 (14:02 +0200)]
hugolib: Adjust error test to make it pass on Go tip
Bjørn Erik Pedersen [Wed, 24 Oct 2018 11:32:46 +0000 (13:32 +0200)]
tpl: Handle truncated identifiers in Go template errors
Long identifiers will give errors on the format:
```bash
_default/single.html:5:14: executing "main" at <.ThisIsAVeryLongTitl...>: can't evaluate field ThisIsAVeryLongTitle
```
Hugo use this value to match the "base template or not", so we need to strip the "...".
Fixes #5346
Bjørn Erik Pedersen [Wed, 24 Oct 2018 09:14:51 +0000 (11:14 +0200)]
Add some color to the relevant filenames in terminal log
Fixes #5344
Bjørn Erik Pedersen [Tue, 23 Oct 2018 21:18:24 +0000 (23:18 +0200)]
Run gofmt -s
Bjørn Erik Pedersen [Tue, 23 Oct 2018 20:21:21 +0000 (22:21 +0200)]
hugolib: Rename some page_* files
To make it easier to see/work with the source files that is about the `Page` struct.
Bjørn Erik Pedersen [Tue, 23 Oct 2018 12:37:09 +0000 (14:37 +0200)]
Resolve error handling/parser related TODOs
See #5324
Bjørn Erik Pedersen [Tue, 23 Oct 2018 06:54:10 +0000 (08:54 +0200)]
herrors: Improve handling of JSON errors
`*json.UnmarshalTypeError` and `*json.SyntaxError` has a byte `Offset`, so use that.
This commit also reworks/simplifies the errror line matching logic. This also makes the file reading unbuffered, but that should be fine in this error case.
See #5324
Bjørn Erik Pedersen [Mon, 22 Oct 2018 18:20:48 +0000 (20:20 +0200)]
commands, hugolib: Get file context in "config parse failed" errors
Fixes #5325
Bjørn Erik Pedersen [Mon, 22 Oct 2018 15:42:06 +0000 (17:42 +0200)]
hugolib: Improve errors in /i18n handlling
See #5324
Bjørn Erik Pedersen [Mon, 22 Oct 2018 14:47:23 +0000 (16:47 +0200)]
hugolib: Improve errors in /data handlling
See #5324
Bjørn Erik Pedersen [Sun, 21 Oct 2018 10:20:21 +0000 (12:20 +0200)]
hugolib: Continue the file context/line number errors work
See #5324
Bjørn Erik Pedersen [Sat, 20 Oct 2018 17:09:03 +0000 (19:09 +0200)]
hugolib: Remove the now superflous Source struct
See #5324
Bjørn Erik Pedersen [Sat, 20 Oct 2018 15:38:49 +0000 (17:38 +0200)]
Convert the rest to new page parser code paths
And remove some now unused code.
See #5324
Bjørn Erik Pedersen [Sat, 20 Oct 2018 09:16:18 +0000 (11:16 +0200)]
parser/metadecoders: Consolidate the metadata decoders
See #5324
Bjørn Erik Pedersen [Fri, 19 Oct 2018 09:30:57 +0000 (11:30 +0200)]
hugolib: Redo the summary delimiter logic
Now that we have a proper page parse tree, this can be greatly simplified.
See #5324
Bjørn Erik Pedersen [Thu, 18 Oct 2018 08:21:23 +0000 (10:21 +0200)]
hugolib: Integrate new page parser
See #5324
Bjørn Erik Pedersen [Thu, 18 Oct 2018 07:47:39 +0000 (09:47 +0200)]
hugolib: Use []byte in shortcode parsing
See #5324
Bjørn Erik Pedersen [Thu, 18 Oct 2018 07:04:48 +0000 (09:04 +0200)]
parser/pageparser: Use []byte in page lexer
See #5324
Bjørn Erik Pedersen [Wed, 17 Oct 2018 11:48:55 +0000 (13:48 +0200)]
parser/pageparser: Add front matter etc. support
See #5324
Bjørn Erik Pedersen [Wed, 17 Oct 2018 11:16:45 +0000 (13:16 +0200)]
parser/pageparser: File renames and splitting
See #5324
Bjørn Erik Pedersen [Wed, 17 Oct 2018 10:57:09 +0000 (12:57 +0200)]
Move the shortcode parser to the new pageparser package
See #5324
Bjørn Erik Pedersen [Mon, 22 Oct 2018 17:50:27 +0000 (19:50 +0200)]
commands: Avoid panic in error handler on config errors
Sean Prashad [Sun, 21 Oct 2018 02:44:15 +0000 (22:44 -0400)]
tpl: Update Jsonify to return pretty-print output
Fixes #5040
Bjørn Erik Pedersen [Wed, 17 Oct 2018 07:28:04 +0000 (09:28 +0200)]
Prevent stale content in Fast Render Mode
We do that by re-render visited pages that is not already in the stack. This may potentially do some double work, but that small penalty should be well worth it.
Fixes #5281
Bjørn Erik Pedersen [Wed, 17 Oct 2018 06:37:02 +0000 (08:37 +0200)]
hugolib: Fix test on Windows
Bjørn Erik Pedersen [Wed, 17 Oct 2018 06:24:45 +0000 (08:24 +0200)]
tpl: Improve the Execute panic error message
See #5327
Janus [Tue, 16 Oct 2018 21:51:48 +0000 (23:51 +0200)]
Allow date and slug from filename for leaf bundles
Fixes #4558
Bjørn Erik Pedersen [Wed, 3 Oct 2018 12:58:09 +0000 (14:58 +0200)]
commands: Show server error info in browser
The main item in this commit is showing of errors with a file context when running `hugo server`.
This can be turned off: `hugo server --disableBrowserError` (can also be set in `config.toml`).
But to get there, the error handling in Hugo needed a revision. There are some items left TODO for commits soon to follow, most notable errors in content and config files.
Fixes #5284
Fixes #5290
See #5325
See #5324
Kris Budhram [Mon, 15 Oct 2018 03:03:38 +0000 (23:03 -0400)]
Simple doc fix in CONTRIBUTING.md
Akshay Raj Gollahalli [Tue, 16 Oct 2018 09:52:32 +0000 (22:52 +1300)]
tpl: Use .Lastmod in embedded schema template
Fixes #5320
Bjørn Erik Pedersen [Tue, 16 Oct 2018 06:43:38 +0000 (08:43 +0200)]
Revert "commands: Add .gitignore "hugo new site""
This fails on Windows, so it needs to be reconsidered.
This reverts commit
92979d92889ff8991acfadd42982c2e55d01b163.
Nathaniel Peiffer [Tue, 16 Oct 2018 06:36:27 +0000 (17:36 +1100)]
commands: Add .gitignore "hugo new site"
Cameron Moore [Tue, 16 Oct 2018 01:52:46 +0000 (20:52 -0500)]
resource: Optimize integrity string generation
Remove use of fmt.Sprintf for simple string concatenation. A simple
change for a small perf boost.
```
name old time/op new time/op delta
Integrity-4 525ns ± 2% 268ns ± 2% -48.92% (p=0.000 n=10+10)
name old alloc/op new alloc/op delta
Integrity-4 144B ± 0% 112B ± 0% -22.22% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
Integrity-4 5.00 ± 0% 3.00 ± 0% -40.00% (p=0.000 n=10+10)
```
Elliot Forbes [Mon, 15 Oct 2018 15:48:19 +0000 (16:48 +0100)]
commands: Add help text to "hugo new"
Anthony Fok [Thu, 11 Oct 2018 14:56:53 +0000 (22:56 +0800)]
snap: Set "extended" tag based on build_url on Launchpad
Read build_url from $SNAPCRAFT_IMAGE_INFO to determine whether
to add the "extended" build tag or not. This allows us to do away
with the extended-snap-master and extended-snap-stable branches.
Shreyansh Khajanchi [Thu, 11 Oct 2018 20:46:10 +0000 (20:46 +0000)]
helpers: Call rst2html directly on *nix
Initially, rst2html was called via the python interpreter which would
fail if the script was wrapped in a launcher as on NixOS.
Ideally, on *nix, binaries should be invoked directly to ensure that
shebangs work properly as is being done now.
Handle the case of windows as it doesn't do shebangs.
Ben Abbott [Tue, 9 Oct 2018 23:46:48 +0000 (12:46 +1300)]
Update URLs to stop 301 redirects
Bjørn Erik Pedersen [Thu, 11 Oct 2018 10:01:51 +0000 (12:01 +0200)]
Merge branch 'release-0.49.2'
hugoreleaser [Thu, 11 Oct 2018 09:49:59 +0000 (09:49 +0000)]
releaser: Prepare repository for 0.50-DEV
[ci skip]
hugoreleaser [Thu, 11 Oct 2018 09:47:57 +0000 (09:47 +0000)]
releaser: Add release notes to /docs for release of 0.49.2
[ci skip]
hugoreleaser [Thu, 11 Oct 2018 09:47:57 +0000 (09:47 +0000)]
releaser: Bump versions for release of 0.49.2
[ci skip]
Bjørn Erik Pedersen [Thu, 11 Oct 2018 09:41:46 +0000 (11:41 +0200)]
Release 0.49.2
hugoreleaser [Thu, 11 Oct 2018 09:39:29 +0000 (09:39 +0000)]
releaser: Add release notes draft for 0.49.2
Rename to *-ready.md to continue. [ci skip]
Bjørn Erik Pedersen [Thu, 11 Oct 2018 09:05:30 +0000 (11:05 +0200)]
common/collections: Fix type checking in Append
The fix introduced in Hugo `0.49.1` had an unintended side-effect in the `Append` func used in both `append` and `.Scratch.Add`.
This commit fixes that by loosen/fixing the type checking so concrete types can be appended to interface slices.
Fixes #5303
Bjørn Erik Pedersen [Thu, 11 Oct 2018 09:05:30 +0000 (11:05 +0200)]
common/collections: Fix type checking in Append
The fix introduced in Hugo `0.49.1` had an unintended side-effect in the `Append` func used in both `append` and `.Scratch.Add`.
This commit fixes that by loosen/fixing the type checking so concrete types can be appended to interface slices.
Fixes #5303
Bjørn Erik Pedersen [Wed, 10 Oct 2018 11:00:01 +0000 (13:00 +0200)]
Merge branch 'release-0.49.1'
hugoreleaser [Wed, 10 Oct 2018 10:38:45 +0000 (10:38 +0000)]
releaser: Prepare repository for 0.50-DEV
[ci skip]
hugoreleaser [Wed, 10 Oct 2018 10:36:37 +0000 (10:36 +0000)]
releaser: Add release notes to /docs for release of 0.49.1
[ci skip]
hugoreleaser [Wed, 10 Oct 2018 10:36:37 +0000 (10:36 +0000)]
releaser: Bump versions for release of 0.49.1
[ci skip]
Bjørn Erik Pedersen [Wed, 10 Oct 2018 10:31:46 +0000 (12:31 +0200)]
Relase 0.49.1
hugoreleaser [Wed, 10 Oct 2018 10:28:25 +0000 (10:28 +0000)]
releaser: Add release notes draft for 0.49.1
Rename to *-ready.md to continue. [ci skip]
Bjørn Erik Pedersen [Mon, 8 Oct 2018 08:25:15 +0000 (10:25 +0200)]
common/maps: Improve append in Scratch
This commit consolidates the reflective collections handling in `.Scratch` vs the `tpl` package so they use the same code paths.
This commit also adds support for a corner case where a typed slice is appended to a nil or empty `[]interface{}`.
Fixes #5275
Bjørn Erik Pedersen [Tue, 2 Oct 2018 15:35:33 +0000 (17:35 +0200)]
tpl/collections: Fix handling of different interface types in Slice
In Hugo `0.49` we improved type support in `slice`. This has an unfortunate side effect in that `resources.Concat` now expects something that can resolve to `resource.Resources`.
This worked for most situations, but when you try to `slice` different `Resource` objects, you would be getting `[]interface {}` and not `resource.Resources`. And `concat` would fail:
```bash
error calling Concat: slice []interface {} not supported in concat.
```
This commit fixes that by simplifying the type checking logic in `Slice`:
* If the first item implements the `Slicer` interface, we try that
* If the above fails or the first item does not implement `Slicer`, we just return the `[]interface {}`
Fixes #5269
Bjørn Erik Pedersen [Tue, 9 Oct 2018 09:09:00 +0000 (11:09 +0200)]
Add GOPATH Hugo building tip
Bjørn Erik Pedersen [Mon, 8 Oct 2018 08:25:15 +0000 (10:25 +0200)]
common/maps: Improve append in Scratch
This commit consolidates the reflective collections handling in `.Scratch` vs the `tpl` package so they use the same code paths.
This commit also adds support for a corner case where a typed slice is appended to a nil or empty `[]interface{}`.
Fixes #5275
Bjørn Erik Pedersen [Sun, 7 Oct 2018 19:08:41 +0000 (21:08 +0200)]
Revert "tpl: Fix baseof.html in error message"
I need to rethink this.
This reverts commit
646a52a5c5f52890f2d0270b68ba0f863047484a.
Bjørn Erik Pedersen [Sat, 6 Oct 2018 10:04:29 +0000 (12:04 +0200)]
tpl: Fix baseof.html in error message
This fix should also make the template loadin slightly faster, as we avoid to reparse the baseof.html files more than one time.
Fixes #5288
Bjørn Erik Pedersen [Wed, 3 Oct 2018 08:14:45 +0000 (10:14 +0200)]
helpers: Consolidate MakeSegment vs MakePathSanitized
In short:
* Avoid double tolower in MakeSegment
* Use MakePathSanitized for taxonomies in pageToPermalinkTitle; this matches what MakeSegment does.
* Move the "double hyphen and space" logic into UnicodeSanitize
The last bullet may be slightly breaking for some that now does not get the "--" in some URLs, but we need to reduce the amount of URL logic.
See #4926