mirror of
https://github.com/daeuniverse/dae.git
synced 2025-07-06 00:09:37 +07:00
ci(hack): add config-doc-generator (#101)
Co-authored-by: mzz2017 <2017@duck.com>
This commit is contained in:
8
.github/workflows/check-docs.yml
vendored
8
.github/workflows/check-docs.yml
vendored
@ -4,21 +4,21 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
paths:
|
paths:
|
||||||
- 'README*.md'
|
- 'README.md'
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'package.json'
|
- 'package.json'
|
||||||
- '.autocorrectrc'
|
- '.autocorrectrc'
|
||||||
- '.markdownlint-cli2.jsonc'
|
- '.markdownlint-cli2.jsonc'
|
||||||
- '.github/workflows/check-docs.yaml'
|
- '.github/workflows/check-docs.yml'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
paths:
|
paths:
|
||||||
- 'README*.md'
|
- 'README.md'
|
||||||
- 'docs/**'
|
- 'docs/**'
|
||||||
- 'package.json'
|
- 'package.json'
|
||||||
- '.autocorrectrc'
|
- '.autocorrectrc'
|
||||||
- '.markdownlint-cli2.jsonc'
|
- '.markdownlint-cli2.jsonc'
|
||||||
- '.github/workflows/check-docs.yaml'
|
- '.github/workflows/check-docs.yml'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-doc:
|
check-doc:
|
||||||
|
2
docs/.gitignore
vendored
Normal file
2
docs/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
sync/*
|
||||||
|
!sync/.gitkeep
|
0
docs/sync/.gitkeep
Normal file
0
docs/sync/.gitkeep
Normal file
15
docs/templates/example-config.md
vendored
Normal file
15
docs/templates/example-config.md
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 7
|
||||||
|
---
|
||||||
|
|
||||||
|
# Example Config
|
||||||
|
|
||||||
|
Original Copy: <https://github.com/daeuniverse/dae/blob/main/example.dae>
|
||||||
|
|
||||||
|
<!-- START -->
|
||||||
|
|
||||||
|
```python
|
||||||
|
<!-- TEXT REPLACE -->
|
||||||
|
```
|
||||||
|
|
||||||
|
<!-- END -->
|
@ -1,6 +1,5 @@
|
|||||||
global {
|
global {
|
||||||
##### Software options.
|
##### Software options.
|
||||||
###
|
|
||||||
|
|
||||||
# tproxy port to listen on. It is NOT a HTTP/SOCKS port, and is just used by eBPF program.
|
# tproxy port to listen on. It is NOT a HTTP/SOCKS port, and is just used by eBPF program.
|
||||||
# In normal case, you do not need to use it.
|
# In normal case, you do not need to use it.
|
||||||
@ -14,7 +13,6 @@ global {
|
|||||||
|
|
||||||
|
|
||||||
##### Interface and kernel options.
|
##### Interface and kernel options.
|
||||||
###
|
|
||||||
|
|
||||||
# The LAN interface to bind. Use it if you want to proxy LAN.
|
# The LAN interface to bind. Use it if you want to proxy LAN.
|
||||||
# Multiple interfaces split by ",".
|
# Multiple interfaces split by ",".
|
||||||
@ -30,7 +28,6 @@ global {
|
|||||||
|
|
||||||
|
|
||||||
##### Node connectivity check.
|
##### Node connectivity check.
|
||||||
###
|
|
||||||
|
|
||||||
# Host of URL should have both IPv4 and IPv6 if you have double stack in local.
|
# Host of URL should have both IPv4 and IPv6 if you have double stack in local.
|
||||||
# First is URL, others are IP addresses if given.
|
# First is URL, others are IP addresses if given.
|
||||||
@ -56,7 +53,6 @@ global {
|
|||||||
|
|
||||||
|
|
||||||
##### Connecting options.
|
##### Connecting options.
|
||||||
###
|
|
||||||
|
|
||||||
# Optional values of dial_mode are:
|
# Optional values of dial_mode are:
|
||||||
# 1. "ip". Dial proxy using the IP from DNS directly. This allows your ipv4, ipv6 to choose the optimal path
|
# 1. "ip". Dial proxy using the IP from DNS directly. This allows your ipv4, ipv6 to choose the optimal path
|
||||||
|
34
hack/ci/config-doc-generator.py
Normal file
34
hack/ci/config-doc-generator.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import re
|
||||||
|
|
||||||
|
|
||||||
|
def read_config(filename):
|
||||||
|
with open(filename, 'r') as f:
|
||||||
|
return ''.join(f.readlines())
|
||||||
|
|
||||||
|
|
||||||
|
def replacetext(src_file, dest_file, search_text, replace_text):
|
||||||
|
with open(src_file, 'r+') as src:
|
||||||
|
src_file = src.read() # Read
|
||||||
|
src.close()
|
||||||
|
with open(dest_file, 'w') as dest:
|
||||||
|
dest_file = re.sub(search_text, replace_text, src_file) # Replace
|
||||||
|
dest.seek(0) # Setting the position to the top of the page to insert data
|
||||||
|
dest.write(dest_file) # Write
|
||||||
|
|
||||||
|
dest.close()
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
search_text = '<!-- TEXT REPLACE -->'
|
||||||
|
replace_text = read_config('example.dae')
|
||||||
|
|
||||||
|
replacetext(
|
||||||
|
'docs/templates/example-config.md',
|
||||||
|
'docs/sync/example-config.md',
|
||||||
|
search_text,
|
||||||
|
replace_text,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
Reference in New Issue
Block a user