From 7325a017b8242cab34e186244ac993f47c317540 Mon Sep 17 00:00:00 2001 From: Sergei Lukianov Date: Thu, 26 Oct 2023 16:09:17 -0700 Subject: [PATCH] Initial scaffolding --- .gitignore | 1 + Makefile | 54 +++++++ docs/.pages | 12 ++ docs/assets/favicon.ico | Bin 0 -> 15406 bytes docs/assets/logo.webp | Bin 0 -> 3148 bytes docs/concepts/overview.md | 1 + docs/contribute/.pages | 4 + docs/contribute/docs.md | 0 docs/contribute/overview.md | 0 docs/getting-started/overview.md | 1 + docs/install-upgrade/overview.md | 1 + docs/install-upgrade/requirements.md | 0 docs/install-upgrade/supported-devices.md | 0 docs/introduction.md | 165 ++++++++++++++++++++++ docs/reference/api.md | 1 + docs/reference/cli.md | 1 + docs/troubleshooting/overview.md | 1 + docs/user-guide/.pages | 5 + docs/user-guide/harvester.md | 0 docs/user-guide/overview.md | 1 + docs/user-guide/vpc.md | 1 + docs/wiring/.pages | 4 + docs/wiring/clos.md | 19 +++ docs/wiring/overview.md | 1 + hhdocs/Dockerfile | 10 ++ hhdocs/entrypoint.sh | 17 +++ hhdocs/gitconfig | 7 + hhdocs/requirements.txt | 7 + includes/abbreviations.md | 4 + mkdocs.yml | 110 +++++++++++++++ overrides/main.html | 8 ++ 31 files changed, 436 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 docs/.pages create mode 100644 docs/assets/favicon.ico create mode 100644 docs/assets/logo.webp create mode 100644 docs/concepts/overview.md create mode 100644 docs/contribute/.pages create mode 100644 docs/contribute/docs.md create mode 100644 docs/contribute/overview.md create mode 100644 docs/getting-started/overview.md create mode 100644 docs/install-upgrade/overview.md create mode 100644 docs/install-upgrade/requirements.md create mode 100644 docs/install-upgrade/supported-devices.md create mode 100644 docs/introduction.md create mode 100644 docs/reference/api.md create mode 100644 docs/reference/cli.md create mode 100644 docs/troubleshooting/overview.md create mode 100644 docs/user-guide/.pages create mode 100644 docs/user-guide/harvester.md create mode 100644 docs/user-guide/overview.md create mode 100644 docs/user-guide/vpc.md create mode 100644 docs/wiring/.pages create mode 100644 docs/wiring/clos.md create mode 100644 docs/wiring/overview.md create mode 100644 hhdocs/Dockerfile create mode 100755 hhdocs/entrypoint.sh create mode 100644 hhdocs/gitconfig create mode 100644 hhdocs/requirements.txt create mode 100644 includes/abbreviations.md create mode 100644 mkdocs.yml create mode 100644 overrides/main.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1320f90 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +site diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7942726 --- /dev/null +++ b/Makefile @@ -0,0 +1,54 @@ +##@ General + +# The help target prints out all targets with their descriptions organized +# beneath their categories. The categories are represented by '##@' and the +# target descriptions by '##'. The awk commands is responsible for reading the +# entire set of makefiles included in this invocation, looking for lines of the +# file as xyz: ## something, and then pretty-format the target and help. Then, +# if there's a line with ##@ something, that gets pretty-printed as a category. +# More info on the usage of ANSI control characters for terminal formatting: +# https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters +# More info on the awk command: +# http://linuxcommand.org/lc3_adv_awk.php + +.PHONY: help +help: ## Display this help. + @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-25s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) + +IMAGE ?= ghcr.io/githedgehog/hhdocs:latest +RUN = docker run --rm -it -v ${PWD}:/docs -p 8000:8000 $(IMAGE) + + +.PHONY: all +all: build + +.PHONY: docker +docker: ## Pull mkdocs docker image. + docker pull -q $(IMAGE) + +CMD ?= mkdocs + +.PHONY: run +run: docker ## Run a command in the mkdocs docker image. + $(RUN) $(CMD) + +.PHONY: build +build: docker ## Build the documentation. + $(RUN) mkdocs build + +.PHONY: serve +serve: docker ## Serve the documentation. + $(RUN) mkdocs serve -a 0.0.0.0:8000 + +.PHONY: serve-versioned +serve-versioned: docker ## Serve versioned documentation with mike. + $(RUN) mike serve -a 0.0.0.0:8000 + +RELEASE ?= dev +ALIAS ?= master + +.PHONY: deploy +deploy: docker ## Deploy documentation version with mike. + $(RUN) mike deploy -u $(RELEASE) $(ALIAS) + +# TODO we need to "deploy dev" in master and "deploy -u alpha-x latest" in release/alpha-x branches \ No newline at end of file diff --git a/docs/.pages b/docs/.pages new file mode 100644 index 0000000..7130080 --- /dev/null +++ b/docs/.pages @@ -0,0 +1,12 @@ +# https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin +nav: + - introduction.md + - getting-started + - concepts + - Wiring Diagram: wiring + - Install & Upgrade: install-upgrade + - User Guide: user-guide + - Reference: reference + - Troubleshooting: troubleshooting + - ... + - contribute diff --git a/docs/assets/favicon.ico b/docs/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e7c4865b928302bacb4f68d07f3d57b0f8d54134 GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/docs/assets/logo.webp b/docs/assets/logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..f1ec1c7e1ed7824fb62b7328595d89a7a4e51547 GIT binary patch literal 3148 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 items[j + 1]: + items[j], items[j + 1] = items[j + 1], items[j] +``` + +``` yaml +theme: + features: + - content.code.annotate # (1) +``` + +1. :man_raising_hand: I'm a code annotation! I can contain `code`, __formatted + text__, images, ... basically anything that can be written in Markdown. + + + +=== "C" + + ``` c + #include + + int main(void) { + printf("Hello world!\n"); + return 0; + } + ``` + +=== "C++" + + ``` c++ + #include + + int main(void) { + std::cout << "Hello world!" << std::endl; + return 0; + } + ``` + + +| Method | Description | +| :---------- | :----------------------------------- | +| `GET` | :material-check: Fetch resource | +| `PUT` | :material-check-all: Update resource | +| `DELETE` | :material-close: Delete resource | + + +``` mermaid +graph LR + A[Start] --> B{Error?}; + B -->|Yes| C[Hmm...]; + C --> D[Debug]; + D --> B; + B ---->|No| E[Yay!]; +``` + +``` mermaid +sequenceDiagram + autonumber + Alice->>John: Hello John, how are you? + loop Healthcheck + John->>John: Fight against hypochondria + end + Note right of John: Rational thoughts! + John-->>Alice: Great! + John->>Bob: How about you? + Bob-->>John: Jolly good! +``` + +Text can be {--deleted--} and replacement text {++added++}. This can also be +combined into {~~one~>a single~~} operation. {==Highlighting==} is also +possible {>>and comments can be added inline<<}. + +{== + +Formatting can also be applied to blocks by putting the opening and closing +tags on separate lines and adding new lines between the tags and the content. + +==} + +++ctrl+alt+del++ + + +``` markdown +:fontawesome-regular-face-laugh-wink: +:fontawesome-brands-twitter:{ .twitter } +``` + +:fontawesome-regular-face-laugh-wink: +:fontawesome-brands-twitter:{ .twitter } + +https://github.com/mkdocstrings/autorefs + +(test url)[https://test.githedgehog.com] \ No newline at end of file diff --git a/docs/reference/api.md b/docs/reference/api.md new file mode 100644 index 0000000..b2fad2e --- /dev/null +++ b/docs/reference/api.md @@ -0,0 +1 @@ +# API Reference \ No newline at end of file diff --git a/docs/reference/cli.md b/docs/reference/cli.md new file mode 100644 index 0000000..8341cf3 --- /dev/null +++ b/docs/reference/cli.md @@ -0,0 +1 @@ +# CLI reference \ No newline at end of file diff --git a/docs/troubleshooting/overview.md b/docs/troubleshooting/overview.md new file mode 100644 index 0000000..64a80c8 --- /dev/null +++ b/docs/troubleshooting/overview.md @@ -0,0 +1 @@ +# Troubleshooting \ No newline at end of file diff --git a/docs/user-guide/.pages b/docs/user-guide/.pages new file mode 100644 index 0000000..6cf14ec --- /dev/null +++ b/docs/user-guide/.pages @@ -0,0 +1,5 @@ +nav: + - overview.md + - vpc.md + - harvester.md + - ... diff --git a/docs/user-guide/harvester.md b/docs/user-guide/harvester.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/user-guide/overview.md b/docs/user-guide/overview.md new file mode 100644 index 0000000..4bba659 --- /dev/null +++ b/docs/user-guide/overview.md @@ -0,0 +1 @@ +# Overview \ No newline at end of file diff --git a/docs/user-guide/vpc.md b/docs/user-guide/vpc.md new file mode 100644 index 0000000..3eca96f --- /dev/null +++ b/docs/user-guide/vpc.md @@ -0,0 +1 @@ +# VPCs \ No newline at end of file diff --git a/docs/wiring/.pages b/docs/wiring/.pages new file mode 100644 index 0000000..ed3e32d --- /dev/null +++ b/docs/wiring/.pages @@ -0,0 +1,4 @@ +nav: + - overview.md + - clos.md + - ... diff --git a/docs/wiring/clos.md b/docs/wiring/clos.md new file mode 100644 index 0000000..fc14d2d --- /dev/null +++ b/docs/wiring/clos.md @@ -0,0 +1,19 @@ +# Clos + +Placeholder: + +```mermaid +flowchart TD + spine1 --- leaf1 + spine2 --- leaf1 + spine1 --- leaf2 + spine2 --- leaf2 + spine1 --- leaf3 + spine2 --- leaf3 + spine1 --- leaf4 + spine2 --- leaf4 + leaf1 --- edge1 + leaf2 --- edge1 + leaf3 --- edge2 + leaf4 --- edge2 +``` \ No newline at end of file diff --git a/docs/wiring/overview.md b/docs/wiring/overview.md new file mode 100644 index 0000000..3038553 --- /dev/null +++ b/docs/wiring/overview.md @@ -0,0 +1 @@ +# Wiring Diagram \ No newline at end of file diff --git a/hhdocs/Dockerfile b/hhdocs/Dockerfile new file mode 100644 index 0000000..c8ab0e7 --- /dev/null +++ b/hhdocs/Dockerfile @@ -0,0 +1,10 @@ +FROM squidfunk/mkdocs-material + +COPY requirements.txt /requirements.txt +RUN pip install -r /requirements.txt + +COPY gitconfig /root/.gitconfig + +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] + diff --git a/hhdocs/entrypoint.sh b/hhdocs/entrypoint.sh new file mode 100755 index 0000000..f626711 --- /dev/null +++ b/hhdocs/entrypoint.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +if [ "$#" -eq "0" ]; then + echo "Only mkdocs and mike commands are available" + exit 1 +fi + +if [ "$1" = "mkdocs" ]; then + shift + mkdocs "$@" +elif [ "$1" = "mike" ]; then + shift + mike "$@" +else + echo "Only mkdocs and mike commands are available" + exit 1 +fi \ No newline at end of file diff --git a/hhdocs/gitconfig b/hhdocs/gitconfig new file mode 100644 index 0000000..116cdb6 --- /dev/null +++ b/hhdocs/gitconfig @@ -0,0 +1,7 @@ +[user] + name = HHDocs + email = hhdocs@githedgehog.com + +[safe] + directory = /docs + directory = /site \ No newline at end of file diff --git a/hhdocs/requirements.txt b/hhdocs/requirements.txt new file mode 100644 index 0000000..c14ca13 --- /dev/null +++ b/hhdocs/requirements.txt @@ -0,0 +1,7 @@ +mkdocs-glightbox +mkdocs-autorefs +mkdocs-git-revision-date-localized-plugin +mkdocs-redirects +mkdocs-awesome-pages-plugin +mkdocs-htmlproofer-plugin +mike \ No newline at end of file diff --git a/includes/abbreviations.md b/includes/abbreviations.md new file mode 100644 index 0000000..79898ef --- /dev/null +++ b/includes/abbreviations.md @@ -0,0 +1,4 @@ +*[HTML]: Hyper Text Markup Language +*[W3C]: World Wide Web Consortium +*[VPC]: Virtual Private Cloud +*[HHFab]: Hedgehog Fabricator - a tool for building Hedgehog Fabric diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..36eb235 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,110 @@ +site_name: Open Network Fabric +site_url: https://docs.githedgehog.com/ +site_description: Hedgehog Open Network Fabric Documentation +site_author: Hedgehog Authors +copyright: ©2023 Hedgehog + +theme: + name: material + logo: assets/logo.webp + favicon: assets/favicon.ico + custom_dir: overrides + features: + - content.action.edit + - navigation.instant + - navigation.instant.progress + - navigation.tracking + # - navigation.sections + # - navigation.tabs # TODO Do we need them or just everything in the sidebar is better? + # we can hide sidebars for the tabs where it's not needed + # https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#hiding-the-sidebars + - navigation.expand + - toc.follow + - navigation.top + - search.suggest + - search.highlight + - search.share + - content.code.copy + - content.code.annotate + - content.tabs.link + palette: + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + scheme: default + toggle: + icon: material/weather-night + name: Switch to dark mode + + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/weather-sunny + name: Switch to light mode + +extra: + homepage: https://docs.githedgehog.com + version: + provider: mike + default: latest + social: + - icon: fontawesome/brands/linkedin + link: https://www.linkedin.com/company/githedgehog/ + + # consent: + # title: Cookie consent + # description: >- + # We use cookies to recognize your repeated visits and preferences, as well + # as to measure the effectiveness of our documentation and whether users + # find what they're searching for. With your consent, you're helping us to + # make our documentation better. + +repo_url: https://github.com/githedgehog/docs +repo_name: githedgehog/docs +# edit_uri: edit/master/docs/ + +plugins: + - search + - glightbox + - autorefs + - awesome-pages: + collapse_single_pages: true + sort_type: natural + order_by: title + - git-revision-date-localized: + enable_creation_date: true + # - htmlproofer # https://github.com/manuzhang/mkdocs-htmlproofer-plugin + +markdown_extensions: + - abbr + - attr_list + - admonition + - tables + - pymdownx.details + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - pymdownx.snippets: + auto_append: + - includes/abbreviations.md + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.tabbed: + alternate_style: true + - pymdownx.critic + - pymdownx.caret + - pymdownx.keys + - pymdownx.mark + - pymdownx.tilde + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + +watch: + - includes + - overrides diff --git a/overrides/main.html b/overrides/main.html new file mode 100644 index 0000000..35591d6 --- /dev/null +++ b/overrides/main.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block outdated %} + You're not viewing the latest version. + + Click here to go to latest. + +{% endblock %} \ No newline at end of file