1
1
mirror of https://github.com/mcuadros/ascode synced 2024-11-22 17:02:03 +01:00

documentation: hugo configuration and gh-pages action

This commit is contained in:
Máximo Cuadros 2020-03-29 01:12:41 +01:00
parent 1771710198
commit 7fcbabf206
No known key found for this signature in database
GPG Key ID: 17A5DFEDC735AE4B
10 changed files with 129 additions and 148 deletions

@ -1,5 +1,11 @@
name: Docker Push name: Docker Push
on: [push, create] on:
push:
branches:
- master
release:
types:
- created
jobs: jobs:
docker: docker:
runs-on: ubuntu-latest runs-on: ubuntu-latest

29
.github/workflows/gh-pages.yml vendored Normal file

@ -0,0 +1,29 @@
name: Documentation
on:
push:
branches:
- master
release:
types:
- created
jobs:
gh-pages:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.68.2'
extended: true
- name: Hugo Build
run: make hugo-build
- name: Push to gh-pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./_site/public

@ -1,5 +1,11 @@
name: Test name: Test
on: [push, pull_request] on:
push:
branches:
- master
pull_request:
branches:
- master
jobs: jobs:
test: test:
strategy: strategy:

1
.gitignore vendored

@ -1 +1,2 @@
.providers .providers
_site

@ -1,6 +1,8 @@
BASE_PATH := $(realpath -s $(dir $(abspath $(firstword $(MAKEFILE_LIST)))))
# Documentation # Documentation
OUTLINE_CMD ?= outline OUTLINE_CMD ?= outline
DOCUMENTATION_PATH ?= _documentation DOCUMENTATION_PATH ?= $(BASE_PATH)/_documentation
DOCUMENTATION_REFERENCE_PATH ?= $(DOCUMENTATION_PATH)/reference DOCUMENTATION_REFERENCE_PATH ?= $(DOCUMENTATION_PATH)/reference
DOCUMENTATION_REFERENCE_TEMPLATE ?= $(DOCUMENTATION_REFERENCE_PATH)/reference.md.tmpl DOCUMENTATION_REFERENCE_TEMPLATE ?= $(DOCUMENTATION_REFERENCE_PATH)/reference.md.tmpl
EXAMPLES_PATH ?= starlark/types/testdata/examples EXAMPLES_PATH ?= starlark/types/testdata/examples
@ -23,9 +25,16 @@ GO_LDFLAGS_PACKAGES = \
starlarkVersion=go.starlark.net \ starlarkVersion=go.starlark.net \
terraformVersion=github.com/hashicorp/terraform terraformVersion=github.com/hashicorp/terraform
# Site
HUGO_SITE_PATH ?= $(BASE_PATH)/_site
HUGO_SITE_CONTENT_PATH ?= $(HUGO_SITE_PATH)/content
HUGO_SITE_TEMPLATE_PATH ?= $(HUGO_SITE_PATH)/themes/hugo-ascode-theme
HUGO_THEME_URL ?= https://github.com/mcuadros/hugo-ascode-theme
HUGO_PARAMS_VERSION ?= dev
export HUGO_PARAMS_VERSION
# Rules # Rules
.PHONY: documentation .PHONY: documentation clean hugo-server
documentation: $(RUNTIME_MODULES) documentation: $(RUNTIME_MODULES)
$(RUNTIME_MODULES): $(DOCUMENTATION_RUNTIME_PATH) $(RUNTIME_MODULES): $(DOCUMENTATION_RUNTIME_PATH)
@ -40,3 +49,22 @@ $(DOCUMENTATION_REFERENCE_PATH):
goldflags: goldflags:
@$(GO_LDFLAGS_CMD) $(GO_LDFLAGS_PACKAGE) . $(GO_LDFLAGS_PACKAGES) @$(GO_LDFLAGS_CMD) $(GO_LDFLAGS_PACKAGE) . $(GO_LDFLAGS_PACKAGES)
hugo-build: $(HUGO_SITE_PATH)
hugo --minify --source $(HUGO_SITE_PATH) --config $(DOCUMENTATION_PATH)/config.toml
hugo-server: $(HUGO_SITE_PATH)
hugo server --source $(HUGO_SITE_PATH) --config $(DOCUMENTATION_PATH)/config.toml
$(HUGO_SITE_PATH): $(HUGO_SITE_TEMPLATE_PATH)
mkdir -p $@ \
mkdir -p $(HUGO_SITE_CONTENT_PATH)
mkdir -p $(HUGO_SITE_TEMPLATE_PATH)
ln -s $(DOCUMENTATION_PATH) $(HUGO_SITE_CONTENT_PATH)/docs
ln -s $(DOCUMENTATION_PATH)/_home.md $(HUGO_SITE_CONTENT_PATH)/_index.md
$(HUGO_SITE_TEMPLATE_PATH):
git clone $(HUGO_THEME_URL) $(HUGO_SITE_TEMPLATE_PATH)
clean:
rm -rf $(HUGO_SITE_PATH)

4
_documentation/_home.md Normal file

@ -0,0 +1,4 @@
---
---
AsCode allows you to describe your infrastructure using an expressive language in Terraform without writing a single line of HCL.

@ -0,0 +1,47 @@
baseURL = "ascode.run"
languageCode = "en-us"
title = "AsCode - Terraform Alternative Syntax"
theme = "hugo-ascode-theme"
pygmentsCodeFences = true
pygmentsCodefencesGuessSyntax = true
pygmentsUseClasses = true
[[menu.main]]
name = "Home"
url = "/"
weight = 1
[[menu.main]]
name = "Docs"
url = "/docs/"
weight = 2
[[menu.main]]
name = "GitHub"
url = "https://github.com/mcuadros/ascode"
weight = 3
[markup.goldmark.renderer]
unsafe = true
autoHeadingIDType = "github"
[params]
version=""
google_analytics_id=""
homepage_button_link = '/docs'
homepage_button_text = 'Read The Docs'
homepage_intro = 'AsCode allows you to describe your infrastructure using an expressive language in Terraform without writing a single line of HCL.'
homepage_image = '/images/terminal.gif'
[params.homepage_meta_tags]
meta_description = "AsCode allows you to describe your infrastructure using an expressive language in Terraform without writing a single line of HCL."
meta_og_title = "AsCode - Terraform Alternative Syntax"
meta_og_type = "website"
meta_og_url = "https://ascode.run"
meta_og_image = "https://ascode.run/images/og.png"
meta_og_description = "AsCode - Terraform Alternative Syntax."
[params.logo]
mobile = "/images/logo-mobile.svg"
standard = "/images/logo.svg"

@ -1,6 +1,6 @@
--- ---
title: 'Getting Started' title: 'Getting Started'
weight: 2 weight: 2
---- ---
TODO TODO

@ -1,6 +1,6 @@
--- ---
title: 'GitHub Action' title: 'GitHub Action'
weight: 40 weight: 40
---- ---
TODO TODO

@ -1,140 +0,0 @@
{{- define "functionName" }}
{{- if ne .Receiver "types" -}}
#
{{- end -}}
### def {{ if ne .Receiver "types" -}}
<i>{{ .Receiver }}</i>.
{{- end -}}
<b>{{- (index (split .Signature "(") 0) -}}</b>
{{- end -}}
{{- define "function" }}
{{ template "functionName" . }}
```go
{{if ne .Receiver "types" -}}{{.Receiver}}.{{- end }}{{ .Signature }}
```
{{- if ne .Description "" }}
{{ .Description }}
{{- end -}}
{{- if gt (len .Params) 0 }}
###### Arguments
| name | type | description |
|------|------|-------------|
{{ range .Params -}}
| `{{ .Name }}` | `{{ .Type }}` | {{ (replace_all .Description "\n" "") }} |
{{ end -}}
{{- end -}}
{{- if gt (len .Examples) 0 }}
###### Examples
{{ range .Examples -}}
{{ .Description }}
```python
{{ .Code }}
```
{{ end -}}
{{- end -}}
{{- end -}}
{{- define "indexFunctionName" -}}
{{- $receiver := "" -}}
{{ if ne .Receiver "types" -}}{{ $receiver = printf "<i>%s</i>." .Receiver }}{{- end -}}
{{- $name := printf "def <b>%s</b>" (index (split .Signature "(") 0) -}}
{{- $anchor := printf "def %s<b>%s</b>" $receiver (index (split .Signature "(") 0) -}}
* [{{ $name }}({{ (index (split .Signature "(") 1) }}](#{{ sanitizeAnchor $anchor }})
{{- end -}}
{{- define "index" -}}
## Index
<div class="toc">
{{ range .Functions }}
{{ template "indexFunctionName" . }}
{{- end -}}
{{ range .Types -}}
{{ $name := printf "type <b>%s</b>" .Name }}
* [{{ $name }}](#{{ sanitizeAnchor $name }})
{{- range .Methods }}
{{ template "indexFunctionName" . -}}
{{- end -}}
{{- end }}
</div>
{{ end -}}
{{- range . -}}
---
title: '{{ .Path }}'
---
{{ if ne .Description "" }}{{ .Description }}{{ end }}
{{ template "index" . }}
{{- if gt (len .Functions) 0 }}
## Functions
{{ range .Functions -}}
{{ template "function" . }}
{{ end -}}
{{- end }}
{{ if gt (len .Types) 0 }}
## Types
{{ range .Types -}}
### type <b>{{ .Name }}</b>
{{ if ne .Description "" }}{{ .Description }}{{ end -}}
{{ if gt (len .Fields) 0 }}
###### Properties
| name | type | description |
|------|------|-------------|
{{ range .Fields -}}
| `{{ .Name }}` | `{{ .Type }}` | {{ (replace_all .Description "\n" "") }} |
{{ end -}}
{{ end }}
{{ if gt (len .Examples) 0 }}
###### Examples
{{ range .Examples -}}
{{ .Description }}
```python
{{ .Code }}
```
{{ end -}}
{{ end -}}
{{ if gt (len .Methods) 0 }}
###### Methods
{{- range .Methods -}}
{{ template "function" . }}
{{ end -}}
{{- if gt (len .Operators) 0 }}
###### Operators
| operator | description |
|----------|-------------|
{{ range .Operators -}}
| {{ .Opr }} | {{ .Description }} |
{{ end }}
{{ end }}
{{ end }}
{{- end -}}
{{- end -}}
{{ end }}