diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-08-07 18:56:30 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-08-08 09:13:17 +0200 |
commit | d139f30234cbc60fef8a49611189519d40336dbe (patch) | |
tree | 4cf06ab0626007dd247c5f71e8b10b9f4c2d3811 | |
parent | b1b69124122e50d15ba1e4b4c2cc3e13fd55e1f8 (diff) |
docs: Replace docs.json with docs.yaml
Updates #11345
-rw-r--r-- | commands/gen.go | 34 | ||||
-rw-r--r-- | docs/data/docs.json | 6073 | ||||
-rw-r--r-- | docs/data/docs.yaml | 4415 |
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" - ] - |