Hanchen Wang
fb0c1350d4
hugolib: Handle unpecified date for IsFuture and IsExpired
2016-06-14 15:45:26 +02:00
Hanchen Wang
673e41bf6a
hugolib: Add expiredStats to build feedback
2016-06-14 15:45:26 +02:00
Hanchen Wang
32c0e3fd1f
hugolib: Bug fix futureStats
2016-06-14 15:45:26 +02:00
Hanchen Wang
4724a5794e
hugolib: Refactor page.ShouldBuild and table driven test
2016-06-14 15:45:26 +02:00
Hanchen Wang
c1c8ecc9d6
hugolib: Add GroupByExpireDate function
2016-06-14 15:45:26 +02:00
Hanchen Wang
091915c75d
hugolib: Add sort ByExpiryDate function
2016-06-14 15:45:25 +02:00
Hanchen Wang
6472f158a4
hugelib: Add expiredCount as a Site variable
2016-06-14 15:45:25 +02:00
Hanchen Wang
d4156e6127
hugolib: Support an expiration date
2016-06-14 15:45:25 +02:00
Sam Broughton
75deb923d9
Remove unneeded casts in page.getParam
...
Closes #2186
2016-06-09 15:40:06 +02:00
Bjørn Erik Pedersen
a7f51703c4
Add Hugo generator tag to home page if not present
...
Fixes #2182
2016-06-04 21:55:56 -04:00
Steve Francia
f94cd2813d
Handle errors during rereading properly
...
Without this fix, any error during rereading would cause Hugo to hang.
Fixes #2168
Closes #2179
2016-06-02 23:47:30 +02:00
Bjørn Erik Pedersen
608cfe62cf
Remove kr/pretty dependency
...
Fixes #2124
See https://github.com/kr/text/issues/6
2016-05-08 13:16:16 +02:00
Bjørn Erik Pedersen
10af906371
Add ByLastmod page sort
2016-04-22 20:43:18 +02:00
Sven Dowideit
22683a3b66
Make alias redirect output URL's relative
...
Closes #2093
2016-04-22 08:14:19 +02:00
Anthony Fok
9ddf52021b
Update import path of fsnotify
...
Rename "gopkg.in/fsnotify.v1" to "github.com/fsnotify/fsnotify"
per upstream recommendation.
See https://github.com/fsnotify/fsnotify/issues/108 for rationale.
2016-04-20 22:28:26 +08:00
Bjørn Erik Pedersen
77159b4b9b
Add some schemaless BaseURL tests
...
See #2085
2016-04-17 20:01:21 +02:00
Mattias Wadman
5d50c46482
Chomp Unicode BOM if present
...
Useful if using or sharing files with users that use editors that
append a unicode byte order marker header (like Windows notepad).
This will still assume files are UTF-8 encoded.
Closes #2075
2016-04-14 10:46:27 +02:00
Bjørn Erik Pedersen
206440eef2
Fix broken tests
2016-04-12 19:18:02 +02:00
Bjørn Erik Pedersen
c3d28d2897
Revert "Add Node.ID"
...
This reverts commit 5ef52294f9
.
2016-04-12 18:11:52 +02:00
Bjørn Erik Pedersen
39c9ae3108
Revert "Use Node.ID for anchor ID"
...
This reverts commit cd558958a0
.
2016-04-12 18:11:24 +02:00
Bjørn Erik Pedersen
cd558958a0
Use Node.ID for anchor ID
...
Fixes #2057
2016-04-11 13:17:25 +02:00
Bjørn Erik Pedersen
5ef52294f9
Add Node.ID
...
Fixes #2071
2016-04-11 11:49:02 +02:00
Bjørn Erik Pedersen
c0cf1a7e37
Fix section menus for lazy blogger
...
IsMenuCurrent was always returning false for the top level entries.
Fixes #2065
2016-04-10 13:49:32 +02:00
digitalcraftsman
b7efbdc12f
hugolib: Add option to disable rendering of 404 page
...
Fixes #1889
Closes #2037
2016-04-09 20:25:59 +02:00
nitoyon
72bda5ad26
Move section initialization to Site.assembleSections
...
Closes #1527
2016-04-09 20:13:35 +02:00
Bjørn Erik Pedersen
8fe48a6576
Fix potential data race in test
2016-04-09 14:30:22 +02:00
ypnos
9f6b5ad3b4
Save auto-detected markup type in Page.Markup
...
If Page.Markup was not set by the user, it will now be set after
guessing from the file extension. This means, Page.Markup will be set in
any case. It can be used by a theme to differentiate between markup
types.
Fixes #1950
2016-04-09 00:48:53 +02:00
Bjørn Erik Pedersen
f2ff77f3ac
Make Hugo build without Mercurial
...
By creating a fork of the Bitbucket inflect repo. It hasn't changed since 2013,
so it must be considered pretty stable.
Fixes #2062
2016-04-08 21:11:44 +02:00
Bjørn Erik Pedersen
1c3c148b38
hugolib: Un-export internal Site-methods
...
These are obviously internal and for the most part undocumented, creating lots of GoLint warnings.
See #1160
See #2014
2016-04-08 17:55:23 +02:00
Sven Dowideit
1648e327c0
Document and clean SourceRelativeLinksEval code
2016-04-07 20:10:38 +02:00
Bjørn Erik Pedersen
819271cb78
Re-export the methods used in page group tests
2016-04-07 18:44:58 +02:00
Bjørn Erik Pedersen
3950b1375c
hugolib: Camelcase ALL_CAPS vars and const in tests
...
See #2014
2016-04-07 16:10:41 +02:00
Bjørn Erik Pedersen
05b888877d
huglib: Add even more missing GoDoc
...
See #2014
2016-04-07 16:05:23 +02:00
Bjørn Erik Pedersen
ddd02b2f6a
hugolib: Camel-case ALL_CAPS const in test
2016-04-07 15:22:41 +02:00
Bjørn Erik Pedersen
98ee8c3f7b
hugolib: Add GoDoc to pageGroup.go
...
See #2014
2016-04-07 15:21:41 +02:00
Bjørn Erik Pedersen
54750b0780
Do not create robots.txt by default
...
Meny people, including me, have a custom robots.txt in static.
Also remove that option from the command line; it doesn't feel
important enough.
Fixes ##2049
2016-04-05 22:20:39 +02:00
Robert Basic
7d5c9fbf44
Make ByCount sort consistently
...
When two or more taxonomies have the same number of pages,
sort them by name to have consistent ByCount sorting of
taxonomies.
Fixes #1930
2016-04-02 22:59:10 +02:00
Bjørn Erik Pedersen
b678e90db7
Use to most specific interface in WriteDestPage
2016-04-02 00:04:08 +02:00
Bjørn Erik Pedersen
4f66f790b1
Add readFile template func
...
This also includes a refactor of the hugofs package and its usage.
The motivation for that is:
The Afero filesystems are brilliant. Hugo's way of adding a dozen of global variables for the different filesystems was a mistake. In readFile (and also in some other places in Hugo today) we need a way to restrict the access inside the working dir. We could use ioutil.ReadFile and implement the path checking, checking the base path and the dots ("..") etc. But it is obviously better to use an Afero BasePathFs combined witha ReadOnlyFs. We could create a use-once-filesystem and handle the initialization ourselves, but since this is also useful to others and the initialization depends on some other global state (which would mean to create a new file system on every invocation), we might as well do it properly and encapsulate the predefined set of filesystems. This change also leads the way, if needed, to encapsulate the file systems in a struct, making it possible to have several file system sets in action at once (parallel multilanguage site building? With Moore's law and all...)
Fixes #1551
2016-03-31 21:24:18 +02:00
Bjørn Erik Pedersen
8aec5ee2dd
hugolib: Some more unexports
2016-03-25 03:12:31 +01:00
Bjørn Erik Pedersen
6dbae7b671
Be explicit about the type in Scratch test
...
A puzzle, but it sometimes produces a int64 as it is now.
2016-03-24 19:57:26 +01:00
Bjørn Erik Pedersen
d770130530
hugolib: Remove unused Tmpl on Page
2016-03-24 18:34:41 +01:00
Bjørn Erik Pedersen
c846b051f3
Do not use defer for unlocking in Scratch
...
It is a fairly costly operation:
```
benchmark old ns/op new ns/op delta
BenchmarkScratchGet-4 109 31.6 -71.01%
benchmark old allocs new allocs delta
BenchmarkScratchGet-4 0 0 +0.00%
benchmark old bytes new bytes delta
BenchmarkScratchGet-4 0 0 +0.00%
´´´
2016-03-24 16:03:31 +01:00
Bjørn Erik Pedersen
fa1a9653e5
hugolib: Taxonomy GoDoc cleanup
2016-03-24 16:01:25 +01:00
Bjørn Erik Pedersen
b5bced1db4
Add a simple benchmark for Scratch
2016-03-24 15:05:40 +01:00
Bjørn Erik Pedersen
7c84e6b3e3
hugolib: Even more Golint fixes
2016-03-24 14:42:03 +01:00
Bjørn Erik Pedersen
3bbfd99176
hugolib: Apply Golint rules to rss_test.go
2016-03-24 14:20:00 +01:00
Bjørn Erik Pedersen
b8bf01cdc6
hugolib: Add missing GoDoc in pagination.go
2016-03-24 14:18:47 +01:00
Bjørn Erik Pedersen
c2c73c2bd2
hugolib: Some more GoLint fixes
2016-03-24 14:11:04 +01:00
Bjørn Erik Pedersen
e467d23374
hugoblib: Clean up the time tests
2016-03-24 13:30:08 +01:00
Bjørn Erik Pedersen
a6de8dfb42
hugolib: Some more Golint fixes
2016-03-23 17:17:54 +01:00
Bjørn Erik Pedersen
dac34f9bfd
hugolib: Fix spelling mistake
2016-03-23 17:12:47 +01:00
Bjørn Erik Pedersen
c31fa378c7
hugolib: Add Godoc to pageSort
2016-03-23 17:11:29 +01:00
Bjørn Erik Pedersen
937592cb85
hugolib: Fix some more Golint warnings
2016-03-23 10:10:28 +01:00
Bjørn Erik Pedersen
faf2e50685
Do some minor code cleaning of Site
...
* Unexport some methods/fields
* Add some godoc
Still plenty to do here.
2016-03-23 09:43:04 +01:00
Bjørn Erik Pedersen
dc7d8a9eac
Spring cleaning of the menu code
2016-03-23 00:29:39 +01:00
Bjørn Erik Pedersen
df92fc31ca
hugolib: Fix Java-styled all-caps consts
2016-03-22 23:59:07 +01:00
Bjørn Erik Pedersen
35b798247e
Check returned error in Scratch-test
2016-03-22 23:40:39 +01:00
Cameron Moore
b1b7ac7e75
hugolib: Use field keys in composite literals
...
Small fix in shortcode tests to use field keys in a composite literal.
2016-03-22 19:43:28 +01:00
Bjørn Erik Pedersen
048e07422d
Add Scratch to shortcode
...
Fixes #2000
2016-03-21 21:11:20 -04:00
Bjørn Erik Pedersen
de8fc8761a
Re-render shortcode on template or data file change
...
Fixes #1971
2016-03-21 21:09:25 -04:00
Bjørn Erik Pedersen
02effd9dc4
Protect against concurrent Scratch read and write
...
Fixes #2005
2016-03-21 20:42:27 +01:00
Bjørn Erik Pedersen
3529152efe
Return early from appendThemeTemplates
2016-03-17 23:36:11 +01:00
Bjørn Erik Pedersen
70739c972e
Remove unnecessary type conversions
2016-03-14 20:35:50 +01:00
Bjørn Erik Pedersen
dea185aa9b
hugolib: Remove unused code
2016-03-14 15:41:03 +01:00
Bjørn Erik Pedersen
0fb31e4a82
Create an alias from shortcode.Page.Site to shortcode.Site
...
Fixes #1976
2016-03-14 14:10:15 +01:00
Bjørn Erik Pedersen
542e220cc4
Make tests green on both Pygments 2.0.2 and 2.1.3
...
See #1969
2016-03-13 22:06:51 +01:00
Bjørn Erik Pedersen
cafb784799
Add emoji support
...
This uses the Emoji map from https://github.com/kyokomi/emoji -- but with a custom replacement implementation.
The built-in are fine for most use cases, but in Hugo we do care about pure speed.
The benchmarks below are skewed in Hugo's direction as the source and result is a byte slice,
Kyokomi's implementation works best with strings.
Curious: The easy-to-use `strings.Replacer` is also plenty fast.
```
BenchmarkEmojiKyokomiFprint-4 20000 86038 ns/op 33960 B/op 117 allocs/op
BenchmarkEmojiKyokomiSprint-4 20000 83252 ns/op 38232 B/op 122 allocs/op
BenchmarkEmojiStringsReplacer-4 100000 21092 ns/op 17248 B/op 25 allocs/op
BenchmarkHugoEmoji-4 500000 5728 ns/op 624 B/op 13 allocs/op
```
Fixes #1891
2016-03-11 15:51:37 -06:00
Ján Koščo
be3519fac0
Use default sitemap configuration for homepage
...
Fixes #1304
2016-03-10 11:02:00 +01:00
Bjørn Erik Pedersen
924028a9be
Fix for page in multiple menus
...
Fixes #1934
2016-03-10 10:31:12 +01:00
Bjørn Erik Pedersen
973393c99e
Create template clone for late template execution
...
Fixing some breaking blogs on Go 1.6
Fixes #1879
2016-03-09 14:37:58 +01:00
Bjørn Erik Pedersen
9896cd0030
Add reference to parent shortcode
...
Fixes #1936
2016-03-09 11:06:40 +01:00
Bjørn Erik Pedersen
c7acc318b5
Add some missing resets on rebuild
...
Fixes #1928
Fixes #1929
2016-03-06 16:33:32 +01:00
Bjørn Erik Pedersen
eaba04e82b
Add list support in Scratch
2016-03-06 15:44:17 +01:00
Bjørn Erik Pedersen
4e32dc80a2
Simplify the IsHome test cases
2016-03-06 00:41:11 +01:00
Bjørn Erik Pedersen
023992abad
Unexport the target handlers
...
These are of no interest outside the package.
2016-03-05 20:56:38 +01:00
Bjørn Erik Pedersen
27f8d8f963
Allow URL with extension in frontmatter
...
Fixes #1923
2016-03-05 20:50:53 +01:00
Bjørn Erik Pedersen
8aa90f2b7e
Try both prepped and unprepped taxonomy keys
...
Fixes #1869
2016-03-03 22:01:09 +01:00
Bjørn Erik Pedersen
ccd2f4c32b
Prevent capitalized taxonomy labels
...
Fixes #1880
2016-03-03 21:54:23 +01:00
Bjørn Erik Pedersen
7f682d7802
Fix shortcode handling in RST
...
Fixes #1904
2016-03-01 11:04:25 +01:00
Bjørn Erik Pedersen
6b922750f3
Revert "Create template clone for late template execution"
...
This reverts commit 93b04e67f6
.
2016-02-28 12:15:33 +01:00
Bjørn Erik Pedersen
93b04e67f6
Create template clone for late template execution
...
Fixing some breaking blogs on Go 1.6
Fixes #1879
2016-02-28 11:51:51 +01:00
Bjørn Erik Pedersen
804603155f
Check for the presence of pages before setting dates
...
See #1903
2016-02-27 23:25:41 +01:00
Bjørn Erik Pedersen
75cf324322
Set Date and Lastmod for main home page
...
Fixes #1903
2016-02-27 23:21:07 +01:00
Bjørn Erik Pedersen
455df10752
Optimize replaceShortcodeTokens
...
We can of course skip reading the entire byte slice again and again.
This was a slip in the original implementation; functionally the same,
but is slightly faster, esp. for larger data sets with many shortcodes:
```
benchmark old ns/op new ns/op delta
BenchmarkReplaceShortcodeTokens-4 15505 14753 -4.85%
benchmark old allocs new allocs delta
BenchmarkReplaceShortcodeTokens-4 1 1 +0.00%
benchmark old bytes new bytes delta
BenchmarkReplaceShortcodeTokens-4 3072 3072 +0.00%
```
2016-02-25 23:50:43 +01:00
Bjørn Erik Pedersen
8375995378
Enlarge data in BenchmarkReplaceShortcodeTokens
2016-02-25 21:45:13 +01:00
Tatsushi Demachi
e9853642e5
Listen channel before sending values to it
...
The 'results' channel is not listend before sending error values in a
loop checking IsRenderable or not. This fixes it.
2016-02-20 14:03:06 +09:00
Bjørn Erik Pedersen
50182cd06b
Remove superfluous Errorf
2016-02-16 02:05:59 +01:00
Derek Perkins
bac1ba4655
Fix spelling and go vet errors
2016-02-13 19:08:48 +08:00
Tatsushi Demachi
2b3b90a6df
Add test for Hugo hanging up with empty content
...
This adds a test for the issue #1797 and its fix in 68e2e63
.
2016-02-08 20:55:19 +09:00
Bjørn Erik Pedersen
05c8bccf84
hugolib: Add test for parseSitemap
2016-02-07 15:56:56 +01:00
Bjørn Erik Pedersen
0f6c8439b9
Add missing menu tests
2016-02-07 13:43:42 +01:00
Bjørn Erik Pedersen
c462440dcd
Add Page tests for simple methods
2016-02-07 13:32:08 +01:00
Bjørn Erik Pedersen
66570d2fb3
Add Node tests for simple methods
2016-02-07 13:18:16 +01:00
Bjørn Erik Pedersen
75044c199f
Add menu sort tests
2016-02-07 12:34:43 +01:00
Bjørn Erik Pedersen
7c3dceeaed
Fix buggy Menu.Limit()
2016-02-06 22:53:59 +01:00
Bjørn Erik Pedersen
a95426d40c
Remove Printf in test
2016-02-06 22:19:58 +01:00
Bjørn Erik Pedersen
88a320fb2d
Fix buggy Pages.Limit
...
Also add missing page sort related tests.
2016-02-06 22:10:36 +01:00
Bjørn Erik Pedersen
318a984526
Apply gofmt -s
2016-02-06 13:09:52 +01:00
Tatsushi Demachi
68e2e63d92
Fix Hugo hang up with empty content directory
...
Site.ReadPagesFromSource returns nil chan error value when a site
content directory is empty but its receiver expects to be passed
something error values via the channel.
This fixes it by returning a channel which will be immediately closed.
Fix #1797
2016-02-03 08:19:02 +09:00