diff --git a/.github/workflows/site.yml b/.github/workflows/site.yml new file mode 100644 index 000000000..ad885e9f3 --- /dev/null +++ b/.github/workflows/site.yml @@ -0,0 +1,47 @@ +name: 'site' + +on: + push: + pull_request: + +jobs: + doc: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v3 + + - name: Get Hugo and Theme + run: | + curl -fsSL https://github.com/gohugoio/hugo/releases/download/v0.114.0/hugo_extended_0.114.0_Linux-64bit.tar.gz | sudo tar xzf - -C /usr/local/bin hugo + sudo chmod +x /usr/local/bin/hugo + mkdir -p site/themes + cd site/themes + git clone https://github.com/bep/docuapi + cd docuapi + npm install --only=dev + mv node_modules ../.. + + - name: Build site + run: | + cd site + hugo version + hugo + + - uses: actions/upload-artifact@v3 + with: + name: site + path: site/public + + - name: Publish site to gh-pages + if: github.event_name != 'pull_request' + run: | + cd site/public/ + touch .nojekyll + git init + cp ../../.git/config ./.git/config + git add . + git config --local user.email "push@gha" + git config --local user.name "GHA" + git commit -a -m "update ${{ github.sha }}" + git push -u origin +HEAD:gh-pages diff --git a/README.md b/README.md index 6444f4b7f..1cdaaa4bf 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![cobra logo](assets/CobraMain.png) +![cobra logo](site/static/images/logo.png) Cobra is a library for creating powerful modern CLI applications. diff --git a/assets/CobraMain.png b/assets/CobraMain.png deleted file mode 100644 index 6f1b68a75..000000000 Binary files a/assets/CobraMain.png and /dev/null differ diff --git a/site/.gitignore b/site/.gitignore new file mode 100644 index 000000000..c75eeccc8 --- /dev/null +++ b/site/.gitignore @@ -0,0 +1 @@ +/public diff --git a/site/assets/scss/slate/docuapi_overrides.scss b/site/assets/scss/slate/docuapi_overrides.scss new file mode 100644 index 000000000..2ec4ad31a --- /dev/null +++ b/site/assets/scss/slate/docuapi_overrides.scss @@ -0,0 +1,42 @@ +// Copyright 2013-2023 The Cobra Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// BACKGROUND COLORS + +$nav-bg:#254E70 !default; +$examples-bg: #002642 !default; + +// FONTS + +@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700&display=swap"); + +$font-default-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + +// FLEX SIDEBAR + +.toc-wrapper { + display: flex; + flex-direction: column; +} + +#toc { + flex-grow: 1; +} + +.toc-wrapper .toc-footer { + margin-top: .5em; + li { + text-align: center; + } +} diff --git a/site/config.toml b/site/config.toml new file mode 100644 index 000000000..61e60ef3d --- /dev/null +++ b/site/config.toml @@ -0,0 +1,45 @@ +theme = "docuapi" +languageCode = "en-us" +baseurl = "https://spf13.github.io/cobra/" +title = "Cobra" + +disableKinds = ["taxonomyTerm"] + +# Code higlighting settings +pygmentsCodefences = true +pygmentsCodeFencesGuesSsyntax = false +pygmentsOptions = "" +pygmentsStyle = "monokai" +pygmentsUseClasses = false + +defaultContentLanguage = "en" + +[module] +[module.hugoVersion] +[[module.imports]] +# We need one module import for Hugo to detect us as a Hugo Module. +path="github.com/bep/empty-hugo-module" + +[params] +search = true + +[markup] + [markup.goldmark] + [markup.goldmark.parser] + autoHeadingIDType = "github-ascii" + [markup.goldmark.renderer] + unsafe= true + +[languages] + [languages.en] + languageName = "English" + weight = 2 + title = "Cobra documentation" + [languages.en.params] + toc_footers = [ + "[![github.com/spf13/cobra](https://img.shields.io/badge/-spf13/cobra-323131.svg?logo=github&style=flat-square&longCache=true)](https://github.com/spf13/cobra)", + "Built with [Hugo](https://gohugo.io/) theme [DocuAPI](https://github.com/bep/docuapi) by [bep](https://github.com/bep)" + ] + [languages.en.params.blackfriday] + angledQuotes = false + hrefTargetBlank = true diff --git a/site/content/projects_using_cobra.md b/site/content/projects_using_cobra.md index 8a291eb20..ab00f7824 100644 --- a/site/content/projects_using_cobra.md +++ b/site/content/projects_using_cobra.md @@ -1,4 +1,4 @@ -## Projects using Cobra +# Projects using Cobra - [Allero](https://github.com/allero-io/allero) - [Arewefastyet](https://benchmark.vitess.io) diff --git a/site/go.mod b/site/go.mod new file mode 100644 index 000000000..1ce4dbb2a --- /dev/null +++ b/site/go.mod @@ -0,0 +1,10 @@ +module github.com/bep/docuapi + +go 1.12 + +require ( + github.com/bep/empty-hugo-module v1.0.0 // indirect + github.com/jquery/jquery-dist v0.0.0-20190501211928-15bc73803f76 // indirect + github.com/olivernn/lunr.js v2.3.8+incompatible // indirect + github.com/slatedocs/slate v2.3.1+incompatible // indirect +) diff --git a/site/static/images/logo.png b/site/static/images/logo.png new file mode 100644 index 000000000..8d4918ce9 Binary files /dev/null and b/site/static/images/logo.png differ