mirror of
https://github.com/gohugoio/hugo.git
synced 2025-05-06 10:01:34 +00:00
commands: Support human-readable YAML boolean values in undraft
This commit is contained in:
parent
ccdd08d57a
commit
1039356edf
2 changed files with 11 additions and 11 deletions
|
@ -25,8 +25,8 @@ import (
|
||||||
|
|
||||||
var undraftCmd = &cobra.Command{
|
var undraftCmd = &cobra.Command{
|
||||||
Use: "undraft path/to/content",
|
Use: "undraft path/to/content",
|
||||||
Short: "Undraft changes the content's draft status from 'True' to 'False'",
|
Short: "Undraft resets the content's draft status",
|
||||||
Long: `Undraft changes the content's draft status from 'True' to 'False'
|
Long: `Undraft resets the content's draft status
|
||||||
and updates the date to the current date and time.
|
and updates the date to the current date and time.
|
||||||
If the content's draft status is 'False', nothing is done.`,
|
If the content's draft status is 'False', nothing is done.`,
|
||||||
RunE: Undraft,
|
RunE: Undraft,
|
||||||
|
@ -138,14 +138,12 @@ L:
|
||||||
for _, v := range fmLines {
|
for _, v := range fmLines {
|
||||||
pos := bytes.Index(v, []byte("draft"))
|
pos := bytes.Index(v, []byte("draft"))
|
||||||
if pos != -1 {
|
if pos != -1 {
|
||||||
v = bytes.Replace(v, []byte("true"), []byte("false"), 1)
|
continue
|
||||||
goto write
|
|
||||||
}
|
}
|
||||||
pos = bytes.Index(v, []byte("date"))
|
pos = bytes.Index(v, []byte("date"))
|
||||||
if pos != -1 { // if date field wasn't found, add it
|
if pos != -1 { // if date field wasn't found, add it
|
||||||
v = bytes.Replace(v, []byte(date), []byte(time.Now().Format(time.RFC3339)), 1)
|
v = bytes.Replace(v, []byte(date), []byte(time.Now().Format(time.RFC3339)), 1)
|
||||||
}
|
}
|
||||||
write:
|
|
||||||
buff.Write(v)
|
buff.Write(v)
|
||||||
buff.Write(lineEnding)
|
buff.Write(lineEnding)
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,12 +25,13 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
jsonFM = "{\n \"date\": \"12-04-06\",\n \"title\": \"test json\"\n}"
|
jsonFM = "{\n \"date\": \"12-04-06\",\n \"title\": \"test json\"\n}"
|
||||||
jsonDraftFM = "{\n \"draft\": true,\n \"date\": \"12-04-06\",\n \"title\":\"test json\"\n}"
|
jsonDraftFM = "{\n \"draft\": true,\n \"date\": \"12-04-06\",\n \"title\":\"test json\"\n}"
|
||||||
tomlFM = "+++\n date= \"12-04-06\"\n title= \"test toml\"\n+++"
|
tomlFM = "+++\n date= \"12-04-06\"\n title= \"test toml\"\n+++"
|
||||||
tomlDraftFM = "+++\n draft= true\n date= \"12-04-06\"\n title=\"test toml\"\n+++"
|
tomlDraftFM = "+++\n draft= true\n date= \"12-04-06\"\n title=\"test toml\"\n+++"
|
||||||
yamlFM = "---\n date: \"12-04-06\"\n title: \"test yaml\"\n---"
|
yamlFM = "---\n date: \"12-04-06\"\n title: \"test yaml\"\n---"
|
||||||
yamlDraftFM = "---\n draft: true\n date: \"12-04-06\"\n title: \"test yaml\"\n---"
|
yamlDraftFM = "---\n draft: true\n date: \"12-04-06\"\n title: \"test yaml\"\n---"
|
||||||
|
yamlYesDraftFM = "---\n draft: yes\n date: \"12-04-06\"\n title: \"test yaml\"\n---"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestUndraftContent(t *testing.T) {
|
func TestUndraftContent(t *testing.T) {
|
||||||
|
@ -44,6 +45,7 @@ func TestUndraftContent(t *testing.T) {
|
||||||
{tomlDraftFM, ""},
|
{tomlDraftFM, ""},
|
||||||
{yamlFM, "not a Draft: nothing was done"},
|
{yamlFM, "not a Draft: nothing was done"},
|
||||||
{yamlDraftFM, ""},
|
{yamlDraftFM, ""},
|
||||||
|
{yamlYesDraftFM, ""},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, test := range tests {
|
for i, test := range tests {
|
||||||
|
|
Loading…
Add table
Reference in a new issue