summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-08-07 18:56:30 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-08-08 09:13:17 +0200
commitd139f30234cbc60fef8a49611189519d40336dbe (patch)
tree4cf06ab0626007dd247c5f71e8b10b9f4c2d3811
parentb1b69124122e50d15ba1e4b4c2cc3e13fd55e1f8 (diff)
docs: Replace docs.json with docs.yaml
Updates #11345
-rw-r--r--commands/gen.go34
-rw-r--r--docs/data/docs.json6073
-rw-r--r--docs/data/docs.yaml4415
3 files changed, 4438 insertions, 6084 deletions
diff --git a/commands/gen.go b/commands/gen.go
index 02df720c8..4b96ffc5c 100644
--- a/commands/gen.go
+++ b/commands/gen.go
@@ -14,6 +14,7 @@
package commands
import (
+ "bytes"
"context"
"encoding/json"
"fmt"
@@ -34,6 +35,7 @@ import (
"github.com/gohugoio/hugo/parser"
"github.com/spf13/cobra"
"github.com/spf13/cobra/doc"
+ "gopkg.in/yaml.v2"
)
func newGenCommand() *genCommand {
@@ -188,16 +190,8 @@ url: %s
run: func(ctx context.Context, cd *simplecobra.Commandeer, r *rootCommand, args []string) error {
r.Println("Generate docs data to", docsHelperTarget)
- targetFile := filepath.Join(docsHelperTarget, "docs.json")
-
- f, err := os.Create(targetFile)
- if err != nil {
- return err
- }
- defer f.Close()
-
- enc := json.NewEncoder(f)
- enc.SetIndent("", " ")
+ var buf bytes.Buffer
+ jsonEnc := json.NewEncoder(&buf)
configProvider := func() docshelper.DocProvider {
conf := hugolib.DefaultConfig()
@@ -207,7 +201,25 @@ url: %s
}
docshelper.AddDocProviderFunc(configProvider)
- if err := enc.Encode(docshelper.GetDocProvider()); err != nil {
+ if err := jsonEnc.Encode(docshelper.GetDocProvider()); err != nil {
+ return err
+ }
+
+ // Decode the JSON to a map[string]interface{} and then unmarshal it again to the correct format.
+ var m map[string]interface{}
+ if err := json.Unmarshal(buf.Bytes(), &m); err != nil {
+ return err
+ }
+
+ targetFile := filepath.Join(docsHelperTarget, "docs.yaml")
+
+ f, err := os.Create(targetFile)
+ if err != nil {
+ return err
+ }
+ defer f.Close()
+ yamlEnc := yaml.NewEncoder(f)
+ if err := yamlEnc.Encode(m); err != nil {
return err
}
diff --git a/docs/data/docs.json b/docs/data/docs.json
deleted file mode 100644
index 23f9710bb..000000000
--- a/docs/data/docs.json
+++ /dev/null
@@ -1,6073 +0,0 @@
-{
- "chroma": {
- "lexers": [
- {
- "Name": "ABAP",
- "Aliases": [
- "abap"
- ]
- },
- {
- "Name": "ABNF",
- "Aliases": [
- "abnf"
- ]
- },
- {
- "Name": "ActionScript",
- "Aliases": [
- "as",
- "actionscript"
- ]
- },
- {
- "Name": "ActionScript 3",
- "Aliases": [
- "as3",
- "actionscript3"
- ]
- },
- {
- "Name": "Ada",
- "Aliases": [
- "ada",
- "ada95",
- "ada2005"
- ]
- },
- {
- "Name": "AL",
- "Aliases": [
- "al"
- ]
- },
- {
- "Name": "Angular2",
- "Aliases": [
- "ng2"
- ]
- },
- {
- "Name": "ANTLR",
- "Aliases": [
- "antlr"
- ]
- },
- {
- "Name": "ApacheConf",
- "Aliases": [
- "apacheconf",
- "aconf",
- "apache"
- ]
- },
- {
- "Name": "APL",
- "Aliases": [
- "apl"
- ]
- },
- {
- "Name": "AppleScript",
- "Aliases": [
- "applescript"
- ]
- },
- {
- "Name": "ArangoDB AQL",
- "Aliases": [
- "aql"
- ]
- },
- {
- "Name": "Arduino",
- "Aliases": [
- "arduino"
- ]
- },
- {
- "Name": "ArmAsm",
- "Aliases": [
- "armasm"
- ]
- },
- {
- "Name": "AutoHotkey",
- "Aliases": [
- "autohotkey",
- "ahk"
- ]
- },
- {
- "Name": "AutoIt",
- "Aliases": [
- "autoit"
- ]
- },
- {
- "Name": "Awk",
- "Aliases": [
- "awk",
- "gawk",
- "mawk",
- "nawk"
- ]
- },
- {
- "Name": "Ballerina",
- "Aliases": [
- "ballerina"
- ]
- },
- {
- "Name": "Bash",
- "Aliases": [
- "bash",
- "sh",
- "ksh",
- "zsh",
- "shell"
- ]
- },
- {
- "Name": "BashSession",
- "Aliases": [
- "bash-session",
- "console",
- "shell-session"
- ]
- },
- {
- "Name": "Batchfile",
- "Aliases": [
- "bat",
- "batch",
- "dosbatch",
- "winbatch"
- ]
- },
- {
- "Name": "BibTeX",
- "Aliases": [
- "bib",
- "bibtex"
- ]
- },
- {
- "Name": "Bicep",
- "Aliases": [
- "bicep"
- ]
- },
- {
- "Name": "BlitzBasic",
- "Aliases": [
- "blitzbasic",
- "b3d",
- "bplus"
- ]
- },
- {
- "Name": "BNF",
- "Aliases": [
- "bnf"
- ]
- },
- {
- "Name": "BQN",
- "Aliases": [
- "bqn"
- ]
- },
- {
- "Name": "Brainfuck",
- "Aliases": [
- "brainfuck",
- "bf"
- ]
- },
- {
- "Name": "C",
- "Aliases": [
- "c"
- ]
- },
- {
- "Name": "C#",
- "Aliases": [
- "csharp",
- "c#"
- ]
- },
- {
- "Name": "C++",
- "Aliases": [
- "cpp",
- "c++"
- ]
- },
- {
- "Name": "Caddyfile",
- "Aliases": [
- "caddyfile",
- "caddy"
- ]
- },
- {
- "Name": "Caddyfile Directives",
- "Aliases": [
- "caddyfile-directives",
- "caddyfile-d",
- "caddy-d"
- ]
- },
- {
- "Name": "Cap'n Proto",
- "Aliases": [
- "capnp"
- ]
- },
- {
- "Name": "Cassandra CQL",
- "Aliases": [
- "cassandra",
- "cql"
- ]
- },
- {
- "Name": "Ceylon",
- "Aliases": [
- "ceylon"
- ]
- },
- {
- "Name": "CFEngine3",
- "Aliases": [
- "cfengine3",
- "cf3"
- ]
- },
- {
- "Name": "cfstatement",
- "Aliases": [
- "cfs"
- ]
- },
- {
- "Name": "ChaiScript",
- "Aliases": [
- "chai",
- "chaiscript"
- ]
- },
- {
- "Name": "Chapel",
- "Aliases": [
- "chapel",
- "chpl"
- ]
- },
- {
- "Name": "Cheetah",
- "Aliases": [
- "cheetah",
- "spitfire"
- ]
- },
- {
- "Name": "Clojure",
- "Aliases": [
- "clojure",
- "clj"
- ]
- },
- {
- "Name": "CMake",
- "Aliases": [
- "cmake"
- ]
- },
- {
- "Name": "COBOL",
- "Aliases": [
- "cobol"
- ]
- },
- {
- "Name": "CoffeeScript",
- "Aliases": [
- "coffee-script",
- "coffeescript",
- "coffee"
- ]
- },
- {
- "Name": "Common Lisp",
- "Aliases": [
- "common-lisp",
- "cl",
- "lisp"
- ]
- },
- {
- "Name": "Common Lisp",
- "Aliases": [
- "common-lisp",
- "cl",
- "lisp"
- ]
- },
- {
- "Name": "Coq",
- "Aliases": [
- "coq"
- ]
- },
- {
- "Name": "Crystal",
- "Aliases": [
- "cr",
- "crystal"
- ]
- },
- {
- "Name": "CSS",
- "Aliases": [
- "css"
- ]
- },
- {
- "Name": "Cython",
- "Aliases": [
- "cython",
- "pyx",
- "pyrex"
- ]
- },
- {
- "Name": "D",
- "Aliases": [
- "d"
- ]
- },
- {
- "Name": "Dart",
- "Aliases": [
- "dart"
- ]
- },
- {
- "Name": "Diff",
- "Aliases": [
- "diff",
- "udiff"
- ]
- },
- {
- "Name": "Django/Jinja",
- "Aliases": [
- "django",
- "jinja"
- ]
- },
- {
- "Name": "dns",
- "Aliases": [
- "zone",
- "bind"
- ]
- },
- {
- "Name": "Docker",
- "Aliases": [
- "docker",
- "dockerfile"
- ]
- },
- {
- "Name": "DTD",
- "Aliases": [
- "dtd"
- ]
- },
- {
- "Name": "Dylan",
- "Aliases": [
- "dylan"
- ]
- },
- {
- "Name": "EBNF",
- "Aliases": [
- "ebnf"
- ]
- },
- {
- "Name": "Elixir",
- "Aliases": [
- "elixir",
- "ex",
- "exs"
- ]
- },
- {
- "Name": "Elm",
- "Aliases": [
- "elm"
- ]
- },
- {
- "Name": "EmacsLisp",
- "Aliases": [
- "emacs",
- "elisp",
- "emacs-lisp"
- ]
- },
- {
- "Name": "EmacsLisp",
- "Aliases": [
- "emacs",
- "elisp",
- "emacs-lisp"
- ]
- },
- {
- "Name": "Erlang",
- "Aliases": [
- "erlang"
- ]
- },
- {
- "Name": "Factor",
- "Aliases": [
- "factor"
- ]
- },
- {
- "Name": "Fennel",
- "Aliases": [
- "fennel",
- "fnl"
- ]
- },
- {
- "Name": "Fish",
- "Aliases": [
- "fish",
- "fishshell"
- ]
- },
- {
- "Name": "Forth",
- "Aliases": [
- "forth"
- ]
- },
- {
- "Name": "Fortran",
- "Aliases": [
- "fortran",
- "f90"
- ]
- },
- {
- "Name": "FortranFixed",
- "Aliases": [
- "fortranfixed"
- ]
- },
- {
- "Name": "FSharp",
- "Aliases": [
- "fsharp"
- ]
- },
- {
- "Name": "GAS",
- "Aliases": [
- "gas",
- "asm"
- ]
- },
- {
- "Name": "GDScript",
- "Aliases": [
- "gdscript",
- "gd"
- ]
- },
- {
- "Name": "Genshi",
- "Aliases": [
- "genshi",
- "kid",
- "xml+genshi",
- "xml+kid"
- ]
- },
- {
- "Name": "Genshi HTML",
- "Aliases": [
- "html+genshi",
- "html+kid"
- ]
- },
- {
- "Name": "Genshi Text",
- "Aliases": [
- "genshitext"
- ]
- },
- {
- "Name": "Gherkin",
- "Aliases": [
- "cucumber",
- "Cucumber",
- "gherkin",
- "Gherkin"
- ]
- },
- {
- "Name": "GLSL",
- "Aliases": [
- "glsl"
- ]
- },
- {
- "Name": "Gnuplot",
- "Aliases": [
- "gnuplot"
- ]
- },
- {
- "Name": "Go",
- "Aliases": [
- "go",
- "golang"
- ]
- },
- {
- "Name": "Go HTML Template",
- "Aliases": [
- "go-html-template"
- ]
- },
- {
- "Name": "Go HTML Template",
- "Aliases": [
- "go-html-template"
- ]
- },
- {
- "Name": "Go Text Template",
- "Aliases": [
- "go-text-template"
- ]
- },
- {
- "Name": "GraphQL",
- "Aliases": [
- "graphql",
- "graphqls",
- "gql"
- ]
- },
- {
- "Name": "Groff",
- "Aliases": [
- "groff",
- "nroff",
- "man"
- ]
- },
- {
- "Name": "Groovy",
- "Aliases": [
- "groovy"
- ]
- },
- {
- "Name": "Handlebars",
- "Aliases": [
- "handlebars",
- "hbs"
- ]
- },
- {
- "Name": "Haskell",
- "Aliases": [
- "haskell",
- "hs"
- ]
- },
- {
- "Name": "Haxe",
- "Aliases": [
- "hx",
- "haxe",
- "hxsl"
- ]
- },
- {
- "Name": "HCL",
- "Aliases": [
- "hcl"
- ]
- },
- {
- "Name": "Hexdump",
- "Aliases": [
- "hexdump"
- ]
- },
- {
- "Name": "HLB",
- "Aliases": [
- "hlb"
- ]
- },
- {
- "Name": "HLSL",
- "Aliases": [
- "hlsl"
- ]
- },
- {
- "Name": "HolyC",
- "Aliases": [
- "holyc"
- ]
- },
- {
- "Name": "HTML",
- "Aliases": [
- "html"
- ]
- },
- {
- "Name": "HTTP",
- "Aliases": [
- "http"
- ]
- },
- {
- "Name": "Hy",
- "Aliases": [
- "hylang"
- ]
- },
- {
- "Name": "Idris",
- "Aliases": [
- "idris",
- "idr"
- ]
- },
- {
- "Name": "Igor",
- "Aliases": [
- "igor",
- "igorpro"
- ]
- },
- {
- "Name": "INI",
- "Aliases": [
- "ini",
- "cfg",
- "dosini"
- ]
- },
- {
- "Name": "Io",
- "Aliases": [
- "io"
- ]
- },
- {
- "Name": "ISCdhcpd",
- "Aliases": [
- "iscdhcpd"
- ]
- },
- {
- "Name": "J",
- "Aliases": [
- "j"
- ]
- },
- {
- "Name": "Java",
- "Aliases": [
- "java"
- ]
- },
- {
- "Name": "JavaScript",
- "Aliases": [
- "js",
- "javascript"
- ]
- },
- {
- "Name": "JSON",
- "Aliases": [
- "json"
- ]
- },
- {
- "Name": "Julia",
- "Aliases": [
- "julia",
- "jl"
- ]
- },
- {
- "Name": "Jungle",
- "Aliases": [
- "jungle"
- ]
- },
- {
- "Name": "Kotlin",
- "Aliases": [
- "kotlin"
- ]
- },
- {
- "Name": "Lighttpd configuration file",
- "Aliases": [
- "lighty",
- "lighttpd"
- ]
- },
- {
- "Name": "LLVM",
- "Aliases": [
- "llvm"
- ]
- },
- {
- "Name": "Lua",
- "Aliases": [
- "lua"
- ]
- },
- {
- "Name": "Makefile",
- "Aliases": [
- "make",
- "makefile",
- "mf",
- "bsdmake"
- ]
- },
- {
- "Name": "Mako",
- "Aliases": [
- "mako"
- ]
- },
- {
- "Name": "markdown",
- "Aliases": [
- "md",
- "mkd"
- ]
- },
- {
- "Name": "Mason",
- "Aliases": [
- "mason"
- ]
- },
- {
- "Name": "Mathematica",
- "Aliases": [
- "mathematica",
- "mma",
- "nb"
- ]
- },
- {
- "Name": "Matlab",
- "Aliases": [
- "matlab"
- ]
- },
- {
- "Name": "mcfunction",
- "Aliases": [
- "mcfunction"
- ]
- },
- {
- "Name": "Meson",
- "Aliases": [
- "meson",
- "meson.build"
- ]
- },
- {
- "Name": "Metal",
- "Aliases": [
- "metal"
- ]
- },
- {
- "Name": "MiniZinc",
- "Aliases": [
- "minizinc",
- "MZN",
- "mzn"
- ]
- },
- {
- "Name": "MLIR",
- "Aliases": [
- "mlir"
- ]
- },
- {
- "Name": "Modula-2",
- "Aliases": [
- "modula2",
- "m2"
- ]
- },
- {
- "Name": "MonkeyC",
- "Aliases": [
- "monkeyc"
- ]
- },
- {
- "Name": "MorrowindScript",
- "Aliases": [
- "morrowind",
- "mwscript"
- ]
- },
- {
- "Name": "Myghty",
- "Aliases": [
- "myghty"
- ]
- },
- {
- "Name": "MySQL",
- "Aliases": [
- "mysql",
- "mariadb"
- ]
- },
- {
- "Name": "NASM",
- "Aliases": [
- "nasm"
- ]
- },
- {
- "Name": "Natural",
- "Aliases": [
- "natural"
- ]
- },
- {
- "Name": "Newspeak",
- "Aliases": [
- "newspeak"
- ]
- },
- {
- "Name": "Nginx configuration file",
- "Aliases": [
- "nginx"
- ]
- },
- {
- "Name": "Nim",
- "Aliases": [
- "nim",
- "nimrod"
- ]
- },
- {
- "Name": "Nix",
- "Aliases": [
- "nixos",
- "nix"
- ]
- },
- {
- "Name": "Objective-C",
- "Aliases": [
- "objective-c",
- "objectivec",
- "obj-c",
- "objc"
- ]
- },
- {
- "Name": "OCaml",
- "Aliases": [
- "ocaml"
- ]
- },
- {
- "Name": "Octave",
- "Aliases": [
- "octave"
- ]
- },
- {
- "Name": "OnesEnterprise",
- "Aliases": [
- "ones",
- "onesenterprise",
- "1S",
- "1S:Enterprise"
- ]
- },
- {
- "Name": "OpenEdge ABL",
- "Aliases": [
- "openedge",
- "abl",
- "progress",
- "openedgeabl"
- ]
- },
- {
- "Name": "OpenSCAD",
- "Aliases": [
- "openscad"
- ]
- },
- {
- "Name": "Org Mode",
- "Aliases": [
- "org",
- "orgmode"
- ]
- },
- {
- "Name": "PacmanConf",
- "Aliases": [
- "pacmanconf"
- ]
- },
- {
- "Name": "Perl",
- "Aliases": [
- "perl",
- "pl"
- ]
- },
- {
- "Name": "PHP",
- "Aliases": [
- "php",
- "php3",
- "php4",
- "php5"
- ]
- },
- {
- "Name": "PHTML",
- "Aliases": [
- "phtml"
- ]
- },
- {
- "Name": "Pig",
- "Aliases": [
- "pig"
- ]
- },
- {
- "Name": "PkgConfig",
- "Aliases": [
- "pkgconfig"
- ]
- },
- {
- "Name": "PL/pgSQL",
- "Aliases": [
- "plpgsql"
- ]
- },
- {
- "Name": "plaintext",
- "Aliases": [
- "text",
- "plain",
- "no-highlight"
- ]
- },
- {
- "Name": "Plutus Core",
- "Aliases": [
- "plutus-core",
- "plc"
- ]
- },
- {
- "Name": "Pony",
- "Aliases": [
- "pony"
- ]
- },
- {
- "Name": "PostgreSQL SQL dialect",
- "Aliases": [
- "postgresql",
- "postgres"
- ]
- },
- {
- "Name": "PostScript",
- "Aliases": [
- "postscript",
- "postscr"
- ]
- },
- {
- "Name": "POVRay",
- "Aliases": [
- "pov"
- ]
- },
- {
- "Name": "PowerQuery",
- "Aliases": [
- "powerquery",
- "pq"
- ]
- },
- {
- "Name": "PowerShell",
- "Aliases": [
- "powershell",
- "posh",
- "ps1",
- "psm1",
- "psd1",
- "pwsh"
- ]
- },
- {
- "Name": "Prolog",
- "Aliases": [
- "prolog"
- ]
- },
- {
- "Name": "PromQL",
- "Aliases": [
- "promql"
- ]
- },
- {
- "Name": "properties",
- "Aliases": [
- "java-properties"
- ]
- },
- {
- "Name": "Protocol Buffer",
- "Aliases": [
- "protobuf",
- "proto"
- ]
- },
- {
- "Name": "PSL",
- "Aliases": [
- "psl"
- ]
- },
- {
- "Name": "Puppet",
- "Aliases": [
- "puppet"
- ]
- },
- {
- "Name": "Python",
- "Aliases": [
- "python",
- "py",
- "sage",
- "python3",
- "py3"
- ]
- },
- {
- "Name": "Python 2",
- "Aliases": [
- "python2",
- "py2"
- ]
- },
- {
- "Name": "QBasic",
- "Aliases": [
- "qbasic",
- "basic"
- ]
- },
- {
- "Name": "QML",
- "Aliases": [
- "qml",
- "qbs"
- ]
- },
- {
- "Name": "R",
- "Aliases": [
- "splus",
- "s",
- "r"
- ]
- },
- {
- "Name": "Racket",
- "Aliases": [
- "racket",
- "rkt"
- ]
- },
- {
- "Name": "Ragel",
- "Aliases": [
- "ragel"
- ]
- },
- {
- "Name": "Raku",
- "Aliases": [
- "perl6",
- "pl6",
- "raku"
- ]
- },
- {
- "Name": "react",
- "Aliases": [
- "jsx",
- "react"
- ]
- },
- {
- "Name": "ReasonML",
- "Aliases": [
- "reason",
- "reasonml"
- ]
- },
- {
- "Name": "reg",
- "Aliases": [
- "registry"
- ]
- },
- {
- "Name": "reStructuredText",
- "Aliases": [
- "rst",
- "rest",
- "restructuredtext"