1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

DOCS: Automatically make a table of contents (TOC) (#1778)

This commit is contained in:
Jeffrey Cafferata
2022-10-28 17:27:06 +02:00
committed by GitHub
parent b3e684326a
commit fd42485d7d
11 changed files with 82 additions and 3 deletions

View File

@ -4,6 +4,7 @@ parameters:
- name
- target
- modifiers...
provider: AKAMAIEDGEDNS
---
AKAMAICDN is a proprietary record type that is used to configure [Zone Apex Mapping](https://blogs.akamai.com/2019/08/fast-dns-zone-apex-mapping-dnssec.html).

View File

@ -5,6 +5,7 @@ parameters:
- type
- target
- modifiers ...
provider: AZURE_DNS
---
AZURE_ALIAS is a Azure specific virtual record type that points a record at either another record or an Azure entity.

View File

@ -3,6 +3,7 @@ name: CF_REDIRECT
parameters:
- destination
- modifiers...
provider: CLOUDFLAREAPI
---
`CF_REDIRECT` uses Cloudflare-specific features ("Forwarding URL" Page Rules) to

View File

@ -3,6 +3,7 @@ name: CF_TEMP_REDIRECT
parameters:
- destination
- modifiers...
provider: CLOUDFLAREAPI
---
`CF_TEMP_REDIRECT` uses Cloudflare-specific features ("Forwarding URL" Page

View File

@ -3,6 +3,7 @@ name: CF_WORKER_ROUTE
parameters:
- pattern
- script
provider: CLOUDFLAREAPI
---
`CF_WORKER_ROUTE` uses the [Cloudflare Workers](https://developers.cloudflare.com/workers/)

View File

@ -4,6 +4,7 @@ parameters:
- name
- target
- ZONE_ID modifier
provider: ROUTE53
---
R53_ALIAS is a Route53 specific virtual record type that points a record at either another record or an AWS entity (like a Cloudfront distribution, an ELB, etc...). It is analogous to a CNAME, but is usually resolved at request-time and served as an A record. Unlike CNAMEs, ALIAS records can be used at the zone apex (`@`)

View File

@ -1,6 +1,5 @@
---
layout: default
title: DMARC Builder
name: DMARC_BUILDER
---
# DMARC Builder

View File

@ -2,6 +2,7 @@
name: R53_ZONE
parameters:
- zone_id
provider: ROUTE53
---
R53_ZONE lets you specify the AWS Zone ID for an entire domain (D()) or a specific R53_ALIAS() record.

View File

@ -0,0 +1,28 @@
<a href="#{{include.html-anchor}}">
<strong>{{include.title}}</strong>
</a>
{% if include.provider-jsId != nill %}
for
<a href="/providers/{{include.provider-jsId}}">
<strong>
{{include.provider-name}}
</strong>
</a>
{% endif %}
<ul>
{% for function in site.functions %}
{% if function.path contains include.docs-functions-dir %}
{% if include.docs-functions-dir == "domain" %}
{% if include.provider-jsId == nill and function.provider == nill %}
<li><a href="#{{function.name}}">{{function.name}}</a></li>
{% endif %}
{% if include.provider-jsId != nill and function.provider == include.provider-jsId %}
<li><a href="#{{function.name}}">{{function.name}}</a></li>
{% endif %}
{% else %}
<li><a href="#{{function.name}}">{{function.name}}</a></li>
{% endif %}
{% endif %}
{% endfor %}
</ul>

View File

@ -80,4 +80,13 @@ body {
.dim {
color: #eeeeee
}
}
.table-of-contents {
width: 100%;
}
.table-of-contents td {
vertical-align: top;
width: 50%;
}

View File

@ -8,6 +8,42 @@ title: JavaScript DSL
DNSControl uses javascript as its primary input language to provide power and flexibility to configure your domains. The ultimate purpose of the javascript is to construct a
[DNSConfig](https://godoc.org/github.com/StackExchange/dnscontrol/models#DNSConfig) object that will be passed to the go backend and operated on.
<table class="table-of-contents">
<tr>
<td>
{% include table-of-contents.md
docs-functions-dir="domain"
html-anchor="domain-modifiers"
title="Domain Modifiers"
%}
{% assign showProviders = 'AKAMAIEDGEDNS, AZURE_DNS, CLOUDFLAREAPI, ROUTE53' %}
{% for provider in site.providers %}
{% if showProviders contains provider.jsId %}
{% include table-of-contents.md
docs-functions-dir="domain"
html-anchor="domain-modifiers"
title="Domain Modifiers"
provider-name=provider.name
provider-jsId=provider.jsId
%}
{% endif %}
{% endfor %}
</td>
<td>
{% include table-of-contents.md
docs-functions-dir="global"
html-anchor="top-level-functions"
title="Top Level Functions"
%}
{% include table-of-contents.md
docs-functions-dir="record"
html-anchor="record-modifiers"
title="Record Modifiers"
%}
</td>
</tr>
</table>
{% include funcList.md title="Top Level Functions" dir="global" %}
{% include funcList.md title="Domain Modifiers" dir="domain" %}