@cryptotaxi247 / netdata-1 / commits / c93038d7f

Remove old docs generation tooling (#8783)

* Remove old docs generation tooling * Remove more references to docs/generator/* * Remove more refernece to things no longer used for docs generation * Update contributing-documentation.md * Update contributing-documentation.md Co-authored-by: Joel Hans <joel.g.hans@gmail.com>

James Mills committed May 22, 2020 at 04:35 UTC c93038d7f98afe8b288fce33f7ad5b808c24eef1
20 files changed +1 -1617
.github/CODEOWNERS
-1
@@ -54,7 +54,6 @@ Dockerfile* @Ferroin @knatsakis @ncmans @prologic @cosmix
54 .yamllint.yml @cosmix @Ferroin @knatsakis @ncmans @prologic
55 netdata.spec.in @cosmix @Ferroin @knatsakis @ncmans @prologic
56 netdata-installer.sh @cosmix @Ferroin @knatsakis @ncmans @prologic
57 -netlify.toml @cosmix
57 package.json @jacekkolasa
58 packaging/version @netdatabot
59
.github/labeler.yml
-1
@@ -52,7 +52,6 @@ area/docs:
52 - "**/*.md"
53 - diagrams/*
54 - diagrams/**/*
55 - - netlify.toml
55
56 area/external/python:
57 - collectors/python.d.plugin/*
Dockerfile.docs deleted
-29
@@ -1,29 +0,0 @@
1 -ARG PYVER=3.8
2 -
3 -FROM python:${PYVER}-alpine
4 -
5 -WORKDIR /netdata
6 -
7 -# These scripts use Bash(ism) so install Bash
8 -# TODO: Maybe rewrite the link checker in something more sane
9 -RUN apk add --no-cache -U bash
10 -
11 -# The scripts also clone the netdata/netdata repo using git
12 -# TODO: Maybe also optionally support bind-mounted sources
13 -RUN apk add --no-cache -U git
14 -
15 -# The scripts also use GNU find options
16 -RUN apk add --no-cache -U findutils
17 -
18 -# (20200415) Some Python dependnecy now requires gcc as part of its build step.
19 -RUN apk add --no-cache -U build-base
20 -
21 -# Copy and Install build dependencies first to cache them so we don't have to
22 -# do this every single time we want to rebuild the docs. The cache is busted
23 -# when/if the SHA of the requirements.txt is changed.
24 -COPY docs/generator /netdata/docs/generator
25 -RUN pip install -r /netdata/docs/generator/requirements.txt
26 -
27 -COPY . .
28 -
29 -CMD ["/netdata/docs/generator/buildhtml.sh"]
Makefile.am
+1 -7
@@ -76,7 +76,6 @@ dist_noinst_DATA = \
76 packaging/installer/README.md \
77 packaging/installer/UNINSTALL.md \
78 packaging/installer/UPDATE.md \
79 - netlify.toml \
79 $(NULL)
80
81 # until integrated within build
@@ -88,12 +87,7 @@ dist_noinst_SCRIPTS = \
87 packaging/installer/kickstart.sh \
88 packaging/installer/kickstart-static64.sh \
89 packaging/installer/functions.sh \
91 - netdata-installer.sh \
92 - docs/generator/buildhtml.sh \
93 - docs/generator/buildyaml.sh \
94 - docs/generator/checklinks.sh \
95 - docs/generator/requirements.txt \
96 - docs/generator/runtime.txt \
90 + netdata-installer.sh
91 $(NULL)
92
93 # -----------------------------------------------------------------------------
docs/generator/buildhtml.sh deleted
-114
@@ -1,114 +0,0 @@
1 -#!/bin/bash
2 -
3 -# buildhtml.sh
4 -
5 -# Builds the html static site, using mkdocs
6 -
7 -set -e
8 -
9 -# Assumes that the script is executed either from the htmldoc folder (by netlify), or from the root repo dir (as originally intended)
10 -currentdir=$(pwd | awk -F '/' '{print $NF}')
11 -echo "$currentdir"
12 -if [ "$currentdir" = "generator" ]; then
13 - cd ../..
14 -fi
15 -GENERATOR_DIR="docs/generator"
16 -SRC_DIR="${GENERATOR_DIR}/src"
17 -# Fetch go.d.plugin docs
18 -GO_D_DIR="collectors/go.d.plugin"
19 -rm -rf ${GO_D_DIR}
20 -git clone https://github.com/netdata/go.d.plugin.git ${GO_D_DIR}
21 -find "${GO_D_DIR}" -maxdepth 1 -mindepth 1 -type d ! -name modules -exec rm -rf '{}' \;
22 -
23 -# Copy all Netdata .md files to docs/generator/src. Exclude htmldoc itself and also the directory node_modules generatord by Netlify
24 -echo "Copying files"
25 -rm -rf ${SRC_DIR}
26 -mkdir ${SRC_DIR}
27 -find . -type d \( -path ./${GENERATOR_DIR} -o -path ./node_modules \) -prune -o -name "*.md" -exec cp -pr --parents '{}' ./${SRC_DIR}/ ';'
28 -
29 -# Copy Netdata html resources
30 -cp -a ./${GENERATOR_DIR}/custom ./${SRC_DIR}/
31 -
32 -# Modify the first line of the main README.md, to enable proper static html generation
33 -echo "Modifying README header"
34 -sed -i -e '0,/# Netdata /s//# Netdata Documentation\n\n/' ${SRC_DIR}/README.md
35 -
36 -# Strip comments around frontmatter.
37 -find ${SRC_DIR} -name '*.md' -exec sed -i "/<!--/d;/-->/d;" {} \;
38 -
39 -# Remove all GA tracking code
40 -find ${SRC_DIR} -name "*.md" -print0 | xargs -0 sed -i -e 's/\[!\[analytics.*UA-64295674-3)\]()//g'
41 -
42 -# Use h1 heading as page title for collectors pages
43 -find ${SRC_DIR}/collectors/ -type f -name 'README.md' -exec sed -i -e '1 s|^# \(.*\)|title: \1\n---\n\n# \1\n|' {} \;
44 -
45 -# Remove specific files that don't belong in the documentation
46 -declare -a EXCLUDE_LIST=(
47 - "HISTORICAL_CHANGELOG.md"
48 - "contrib/sles11/README.md"
49 -)
50 -
51 -for f in "${EXCLUDE_LIST[@]}"; do
52 - rm "${SRC_DIR}/$f"
53 -done
54 -
55 -echo "Fetching localization project"
56 -LOC_DIR=${GENERATOR_DIR}/localization
57 -rm -rf ${LOC_DIR}
58 -git clone https://github.com/netdata/localization.git ${LOC_DIR}
59 -
60 -echo "Preparing directories"
61 -MKDOCS_CONFIG_FILE="${GENERATOR_DIR}/mkdocs.yml"
62 -MKDOCS_DIR="doc"
63 -DOCS_DIR=${GENERATOR_DIR}/${MKDOCS_DIR}
64 -rm -rf ${DOCS_DIR}
65 -
66 -prep_html() {
67 - lang="${1}"
68 - echo "Creating ${lang} mkdocs.yaml"
69 -
70 - if [ "${lang}" == "en" ] ; then
71 - SITE_DIR="build"
72 - else
73 - SITE_DIR="build/${lang}"
74 - fi
75 -
76 - # Generate mkdocs.yaml
77 - ${GENERATOR_DIR}/buildyaml.sh ${MKDOCS_DIR} ${SITE_DIR} ${lang}>${MKDOCS_CONFIG_FILE}
78 -
79 - echo "Fixing links"
80 -
81 - # Fix links (recursively, all types, executing replacements)
82 - ${GENERATOR_DIR}/checklinks.sh -rax
83 -
84 - echo "Calling mkdocs"
85 -
86 - # Build html docs
87 - mkdocs build --config-file="${MKDOCS_CONFIG_FILE}"
88 -
89 - # Fix edit buttons for the markdowns that are not on the main Netdata repo
90 - find "${GENERATOR_DIR}/${SITE_DIR}/${GO_D_DIR}" -name "*.html" -print0 | xargs -0 sed -i -e 's/https:\/\/github.com\/netdata\/netdata\/blob\/master\/collectors\/go.d.plugin/https:\/\/github.com\/netdata\/go.d.plugin\/blob\/master/g'
91 - if [ "${lang}" != "en" ] ; then
92 - find "${GENERATOR_DIR}/${SITE_DIR}" -name "*.html" -print0 | xargs -0 sed -i -e 's/https:\/\/github.com\/netdata\/netdata\/blob\/master\/\S*md/https:\/\/github.com\/netdata\/localization\//g'
93 - fi
94 -
95 - # Replace index.html with DOCUMENTATION/index.html. Since we're moving it up one directory, we need to remove ../ from the links
96 - echo "Replacing index.html with DOCUMENTATION/index.html"
97 - sed 's/\.\.\///g' ${GENERATOR_DIR}/${SITE_DIR}/DOCUMENTATION/index.html > ${GENERATOR_DIR}/${SITE_DIR}/index.html
98 -
99 -}
100 -
101 -for d in "en" "kr" "zh" "pt" ; do
102 - echo "Preparing source for $d"
103 - cp -r ${SRC_DIR} ${DOCS_DIR}
104 - if [ "${d}" != "en" ] ; then
105 - cp -a ${LOC_DIR}/${d}/* ${DOCS_DIR}/
106 - fi
107 - prep_html $d
108 - rm -rf ${DOCS_DIR}
109 -done
110 -
111 -# Remove cloned projects and temp directories
112 -rm -rf ${GO_D_DIR} ${LOC_DIR} ${DOCS_DIR} ${SRC_DIR}
113 -
114 -echo "Finished"
docs/generator/buildyaml.sh deleted
-306
@@ -1,306 +0,0 @@
1 -#!/bin/bash
2 -
3 -GENERATOR_DIR="docs/generator"
4 -
5 -docs_dir="${1}"
6 -site_dir="${2}"
7 -language="${3}"
8 -
9 -cd ${GENERATOR_DIR}/${docs_dir}
10 -
11 -# getlastdir parses file path and returns last directory name.
12 -# It expects path to be not empty , '/' as a delimeter and at least one '/' in the path.
13 -getlastdir() {
14 - local IFS=/
15 - read -ra array <<< "$1"
16 - echo "${array[((${#array[@]} - 2))]}"
17 -}
18 -
19 -# create yaml nav subtree with all the files directly under a specific directory
20 -# arguments:
21 -# tabs - how deep do we show it in the hierarchy. Level 1 is the top level, max should probably be 3
22 -# directory - to get mds from to add them to the yaml
23 -# file - can be left empty to include all files
24 -# name - what do we call the relevant section on the navbar. Empty if no new section is required
25 -# maxdepth - how many levels of subdirectories do I include in the yaml in this section. 1 means just the top level and is the default if left empty
26 -# excludefirstlevel - Optional param. If passed, mindepth is set to 2, to exclude the READMEs in the first directory level
27 -
28 -navpart() {
29 - tabs=$1
30 - dir=$2
31 - file=$3
32 - section=$4
33 - maxdepth=$5
34 - excludefirstlevel=$6
35 - useLastDirAsPageName=$7
36 - spc=""
37 -
38 - i=1
39 - while [ ${i} -lt ${tabs} ]; do
40 - spc=" $spc"
41 - i=$((i + 1))
42 - done
43 -
44 - if [ -z "$file" ]; then file='*'; fi
45 - if [[ -n $section ]]; then echo "$spc- ${section}:"; fi
46 - if [ -z "$maxdepth" ]; then maxdepth=1; fi
47 - if [[ -n $excludefirstlevel ]]; then mindepth=2; else mindepth=1; fi
48 -
49 - local pagename
50 - for f in $(find "$dir" -mindepth $mindepth -maxdepth $maxdepth -name "${file}.md" -printf '%h|%d|%p\n' | sort -t '|' -n | awk -F '|' '{print $3}'); do
51 - # If I'm adding a section, I need the child links to be one level deeper than the requested level in "tabs"
52 - pagename="'$f'"
53 - if [ -n "$useLastDirAsPageName" ]; then
54 - pagename="'$(getlastdir "$f")' : '$f'"
55 - fi
56 -
57 - if [ -z "$section" ]; then
58 - echo "$spc- $pagename"
59 - else
60 - echo "$spc - $pagename"
61 - fi
62 - done
63 -}
64 -
65 -echo -e "site_name: Netdata Documentation
66 -site_url: https://docs.netdata.cloud
67 -repo_url: https://github.com/netdata/netdata
68 -repo_name: GitHub
69 -edit_uri: blob/master
70 -site_description: Learn about Netdata's real-time health monitoring and performance troubleshooting for all your systems and applications.
71 -copyright: Netdata, 2020
72 -docs_dir: '${docs_dir}'
73 -site_dir: '${site_dir}'
74 -#use_directory_urls: false
75 -strict: true
76 -extra:
77 - social:
78 - - type: github
79 - link: https://github.com/netdata/netdata
80 - - type: twitter
81 - link: https://twitter.com/linuxnetdata
82 - - type: facebook
83 - link: https://www.facebook.com/linuxnetdata/
84 -theme:
85 - name: material
86 - palette:
87 - primary: 'blue grey'
88 - accent: 'light green'
89 - custom_dir: custom/themes/material
90 - favicon: custom/img/favicon.ico
91 - logo: custom/img/netdata_logo.svg
92 - language: '${language}'
93 -extra_css:
94 - - 'https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css'
95 - - 'https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css'
96 - - 'custom/css/netdata.css'
97 -extra_javascript:
98 - - 'custom/javascripts/cookie-consent.js'
99 - - 'https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js'
100 -markdown_extensions:
101 - - extra
102 - - abbr
103 - - attr_list
104 - - def_list
105 - - fenced_code
106 - - footnotes
107 - - tables
108 - - admonition
109 - - meta
110 - - sane_lists
111 - - smarty
112 - - toc:
113 - permalink: True
114 - separator: '-'
115 - - wikilinks
116 - - pymdownx.arithmatex
117 - - pymdownx.betterem:
118 - smart_enable: all
119 - - pymdownx.caret
120 - - pymdownx.critic
121 - - pymdownx.details
122 - - pymdownx.highlight:
123 - pygments_style: manni
124 - css_class: 'highlight codehilite'
125 - linenums_style: pymdownx-inline
126 - - pymdownx.inlinehilite
127 - - pymdownx.magiclink
128 - - pymdownx.mark
129 - - pymdownx.smartsymbols
130 - - pymdownx.superfences
131 - - pymdownx.tasklist:
132 - custom_checkbox: true
133 - - pymdownx.tilde
134 - - pymdownx.betterem
135 - - pymdownx.superfences
136 - - markdown.extensions.footnotes
137 - - markdown.extensions.attr_list
138 - - markdown.extensions.def_list
139 - - markdown.extensions.tables
140 - - markdown.extensions.abbr
141 - - pymdownx.extrarawhtml
142 -nav:"
143 -
144 -navpart 1 . "README" ""
145 -
146 -navpart 1 . . "About Netdata"
147 -
148 -echo -ne " - 'docs/what-is-netdata.md'
149 - - 'docs/Demo-Sites.md'
150 - - 'docs/netdata-security.md'
151 - - 'docs/anonymous-statistics.md'
152 - - 'docs/Donations-netdata-has-received.md'
153 - - 'docs/a-github-star-is-important.md'
154 - - REDISTRIBUTED.md
155 - - CHANGELOG.md
156 - - SECURITY.md
157 -- Why Netdata:
158 - - 'docs/why-netdata/README.md'
159 - - 'docs/why-netdata/1s-granularity.md'
160 - - 'docs/why-netdata/unlimited-metrics.md'
161 - - 'docs/why-netdata/meaningful-presentation.md'
162 - - 'docs/why-netdata/immediate-results.md'
163 -- Installation:
164 - - 'packaging/installer/README.md'
165 - - Other methods:
166 - - 'packaging/installer/methods/packages.md'
167 - - 'packaging/installer/methods/kickstart.md'
168 - - 'packaging/installer/methods/kickstart-64.md'
169 - - 'packaging/docker/README.md'
170 - - 'packaging/installer/methods/cloud-providers.md'
171 - - 'packaging/installer/methods/macos.md'
172 - - 'packaging/installer/methods/freebsd.md'
173 - - 'packaging/installer/methods/manual.md'
174 - - 'packaging/installer/methods/offline.md'
175 - - 'packaging/installer/methods/pfsense.md'
176 - - 'packaging/installer/methods/synology.md'
177 - - 'packaging/installer/methods/freenas.md'
178 - - 'packaging/installer/methods/alpine.md'
179 - - 'packaging/DISTRIBUTIONS.md'
180 - - 'packaging/installer/UPDATE.md'
181 - - 'packaging/installer/UNINSTALL.md'
182 -- 'docs/getting-started.md'
183 -"
184 -navpart 1 docs/step-by-step "" "Step-by-step tutorial" 1
185 -# navpart 1 health README "Alarms and notifications"
186 -echo -ne "
187 -- Running Netdata:
188 - - 'daemon/README.md'
189 - - 'docs/configuration-guide.md'
190 - - 'daemon/config/README.md'
191 -"
192 -navpart 2 web/server "" "Web server"
193 -navpart 3 web/server "" "" 2 excludefirstlevel
194 -echo -ne " - Running behind another web server:
195 - - 'docs/Running-behind-nginx.md'
196 - - 'docs/Running-behind-apache.md'
197 - - 'docs/Running-behind-lighttpd.md'
198 - - 'docs/Running-behind-caddy.md'
199 - - 'docs/Running-behind-haproxy.md'
200 -"
201 -#navpart 2 system
202 -navpart 2 database
203 -navpart 2 database/engine
204 -navpart 2 registry
205 -
206 -echo -ne " - 'docs/Performance.md'
207 - - 'docs/netdata-for-IoT.md'
208 - - 'docs/high-performance-netdata.md'
209 -"
210 -
211 -navpart 1 collectors README "Collecting metrics"
212 -echo -ne "
213 - - 'collectors/QUICKSTART.md'
214 - - 'collectors/COLLECTORS.md'
215 - - 'collectors/REFERENCE.md'
216 - - Internal plugins:
217 - - eBPF metrics: collectors/ebpf.plugin/README.md
218 -"
219 -
220 -navpart 3 collectors/proc.plugin
221 -navpart 3 collectors/statsd.plugin
222 -navpart 3 collectors/cgroups.plugin
223 -navpart 3 collectors/idlejitter.plugin
224 -navpart 3 collectors/tc.plugin
225 -navpart 3 collectors/checks.plugin
226 -navpart 3 collectors/diskspace.plugin
227 -navpart 3 collectors/freebsd.plugin
228 -navpart 3 collectors/macos.plugin
229 -
230 -navpart 2 collectors/plugins.d "" "External plugins"
231 -
232 -echo -ne " - Go:
233 - - 'collectors/go.d.plugin/README.md'
234 -"
235 -navpart 4 collectors/go.d.plugin "" "Modules" 3 excludefirstlevel useLastDirAsPageName
236 -
237 -echo -ne " - Python:
238 - - 'collectors/python.d.plugin/README.md'
239 -"
240 -navpart 4 collectors/python.d.plugin "" "Modules" 3 excludefirstlevel useLastDirAsPageName
241 -
242 -echo -ne " - Node.js:
243 - - 'collectors/node.d.plugin/README.md'
244 -"
245 -navpart 4 collectors/node.d.plugin "" "Modules" 3 excludefirstlevel useLastDirAsPageName
246 -
247 -echo -ne " - BASH:
248 - - 'collectors/charts.d.plugin/README.md'
249 -"
250 -navpart 4 collectors/charts.d.plugin "" "Modules" 3 excludefirstlevel useLastDirAsPageName
251 -
252 -navpart 3 collectors/apps.plugin
253 -navpart 3 collectors/cups.plugin
254 -navpart 3 collectors/fping.plugin
255 -navpart 3 collectors/ioping.plugin
256 -navpart 3 collectors/freeipmi.plugin
257 -navpart 3 collectors/nfacct.plugin
258 -navpart 3 collectors/xenstat.plugin
259 -navpart 3 collectors/perf.plugin
260 -navpart 3 collectors/slabinfo.plugin
261 -
262 -navpart 1 . netdata-cloud "Netdata Cloud"
263 -echo -ne "
264 - - 'docs/netdata-cloud/README.md'
265 - - 'docs/netdata-cloud/signing-in.md'
266 - - 'docs/netdata-cloud/nodes-view.md'
267 -"
268 -
269 -navpart 1 web "README" "Dashboards"
270 -navpart 2 web/gui "" "" 3
271 -
272 -navpart 1 health README "Health monitoring and alerts"
273 -echo -ne " - 'health/QUICKSTART.md'
274 - - 'health/REFERENCE.md'
275 -"
276 -navpart 2 health/tutorials "" "Tutorials" 2
277 -navpart 2 health/notifications "" "" 1
278 -navpart 2 health/notifications "" "Supported notifications" 2 excludefirstlevel
279 -
280 -navpart 1 streaming "" "" 4
281 -
282 -navpart 1 backends "" "Archiving to backends" 3
283 -
284 -navpart 1 web/api "" "HTTP API"
285 -navpart 2 web/api/exporters "" "Exporters" 2
286 -navpart 2 web/api/formatters "" "Formatters" 2
287 -navpart 2 web/api/badges "" "" 2
288 -navpart 2 web/api/health "" "" 2
289 -navpart 2 web/api/queries "" "Queries" 2
290 -
291 -echo -ne "- Contributing to Netdata:
292 - - CONTRIBUTING.md
293 - - 'docs/contributing/contributing-documentation.md'
294 - - 'docs/contributing/style-guide.md'
295 - - CODE_OF_CONDUCT.md
296 - - CONTRIBUTORS.md
297 - - packaging/maintainers/README.md
298 -"
299 -
300 -echo -ne "- Additional information:
301 -"
302 -navpart 2 packaging/makeself "" "" 4
303 -navpart 2 libnetdata "" "libnetdata" 4
304 -navpart 2 contrib
305 -navpart 2 tests "" "" 2
306 -navpart 2 diagrams/data_structures
docs/generator/checklinks.sh deleted
-361
@@ -1,361 +0,0 @@
1 -#!/bin/bash
2 -# shellcheck disable=SC2181
3 -
4 -# Doc link checker
5 -# Validates and tries to fix all links that will cause issues either in the repo, or in the html site
6 -
7 -GENERATOR_DIR="docs/generator"
8 -MKDOCS_DIR="doc"
9 -DOCS_DIR=${GENERATOR_DIR}/${MKDOCS_DIR}
10 -
11 -dbg () {
12 - if [ "$VERBOSE" -eq 1 ] ; then printf "%s\\n" "${1}" ; fi
13 -}
14 -
15 -printhelp () {
16 - echo "Usage: docs/generator/checklinks.sh [-r OR -f <fname>] [OPTIONS]
17 - -r Recursively check all mds in all child directories, except docs/generator and node_modules (which is generatord by netlify)
18 - -f Just check the passed md file
19 - General Options:
20 - -x Execute commands. By default the script runs in test mode with no files changed by the script (results and fixes are just shown). Use -x to have it apply the changes.
21 - -u Tries to follow URLs using curl
22 - -v Outputs debugging messages
23 - By default, nothing is actually checked. The following options tell it what to check:
24 - -a Check all link types
25 - -w Check wiki links (and just warn if you see one)
26 - -b Check absolute links to the Netdata repo (and change them to relative). Only checks links to https://github.com/netdata/netdata/????/master*
27 - -l Check relative links to the Netdata repo (and replace them with links that the html static site can live with, under docs/generator/src only)
28 - -e Check external links, outside the wiki or the repo (useless without adding the -u option, to verify that they're not broken)
29 - "
30 -}
31 -
32 -fix () {
33 - if [ "$EXECUTE" -eq 0 ] ; then
34 - echo " - SHOULD EXECUTE: $1"
35 - else
36 - dbg " - EXECUTING: $1"
37 - eval "$1"
38 - fi
39 -}
40 -
41 -testURL () {
42 - if [ "$TESTURLS" -eq 0 ] ; then return 0 ; fi
43 - dbg " - Testing URL $1"
44 - curl -sS "$1" > /dev/null
45 - if [ $? -gt 0 ] ; then
46 - return 1
47 - fi
48 - return 0
49 -}
50 -
51 -testinternal () {
52 - # Check if the header referred to by the internal link exists in the same file
53 - ff=${1}
54 - ifile=${2}
55 - ilnk=${3}
56 - header=${ilnk//-/}
57 - dbg " - Searching for \"$header\" in $ifile"
58 - tr -d '[],_.:? `'< "$ifile" | sed -e 's/-//g' -e "s/'//g" -e "s/(//g" -e "s/)//g" | grep -i "^\\#*$header\$" >/dev/null
59 - if [ $? -eq 0 ] ; then
60 - dbg " - $ilnk found in $ifile"
61 - return 0
62 - else
63 - echo " - ERROR: $ff - $ilnk header not found in file $ifile"
64 - EXITCODE=1
65 - return 1
66 - fi
67 -}
68 -
69 -testf () {
70 - sf=$1
71 - tf=$2
72 -
73 - if [ -f "$tf" ] ; then
74 - dbg " - $tf exists"
75 - return 0
76 - else
77 - echo " - ERROR: $sf - $tf does not exist"
78 - EXITCODE=1
79 - return 1
80 - fi
81 -}
82 -
83 -ck_netdata_relative () {
84 - f=${1}
85 - rlnk=${2}
86 - dbg " - Checking relative link $rlnk"
87 - fpath="."
88 - fname="$f"
89 - # First ensure that the link works in the repo, then try to fix it in htmldocs
90 - if [[ $f =~ ^(.*)/([^/]*)$ ]] ; then
91 - fpath="${BASH_REMATCH[1]}"
92 - fname="${BASH_REMATCH[2]}"
93 - dbg " - Current file is at $fpath"
94 - else
95 - dbg " - Current file is at root directory"
96 - fi
97 - # Cases to handle:
98 - # (#somelink)
99 - # (path/)
100 - # (path/#somelink)
101 - # (path/filename.md) -> htmldoc (path/filename/)
102 - # (path/filename.md#somelink) -> htmldoc (path/filename/#somelink)
103 - # (path#somelink) -> htmldoc (path/#somelink)
104 - # (path/someotherfile) -> htmldoc (absolutelink)
105 - # (path) -> htmldoc (path/)
106 -
107 - TRGT=""
108 - s=""
109 -
110 - case "$rlnk" in
111 - \#* )
112 - dbg " - # (#somelink)"
113 - testinternal "$f" "$f" "$rlnk"
114 - ;;
115 - /* )
116 - # Handle links in Markdown files that begin with `/`.
117 - dbg " - # (/path/filename.md) -> htmldoc (/path/filename/)"
118 - # For links that end in `.md`.
119 - if [[ $rlnk =~ ^(.*)/(.*).md$ ]] ; then
120 - testf "$f" ".$rlnk"
121 -
122 - if [ "${BASH_REMATCH[2]}" = "README" ] ; then
123 - s="${BASH_REMATCH[1]}/"
124 - else
125 - s="${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/"
126 - fi
127 - fi
128 - # For links that end in `.md#...`.
129 - if [[ $lnk =~ ^(.*)/(.*).md#(.*)$ ]] ; then
130 - TRGT=".${BASH_REMATCH[1]}/${BASH_REMATCH[2]}.md"
131 - LNK="#${BASH_REMATCH[3]}"
132 - testf "$f" "$TRGT"
133 - testinternal "$f" "$TRGT" "$LNK"
134 -
135 - if [ "${BASH_REMATCH[2]}" = "README" ] ; then
136 - s="${BASH_REMATCH[1]}/#${BASH_REMATCH[3]}"
137 - else
138 - s="${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/#${BASH_REMATCH[3]}"
139 - fi
140 - fi
141 - ;;
142 - */ )
143 - dbg " - # (path/)"
144 - TRGT="$fpath/${rlnk}README.md"
145 - testf "$f" "$TRGT"
146 - if [ $? -eq 0 ] ; then
147 - if [ "$fname" != "README.md" ] ; then s="../$rlnk"; fi
148 - fi
149 - ;;
150 - */\#* )
151 - dbg " - # (path/#somelink)"
152 - if [[ $rlnk =~ ^(.*)/#(.*)$ ]] ; then
153 - TRGT="$fpath/${BASH_REMATCH[1]}/README.md"
154 - LNK="#${BASH_REMATCH[2]}"
155 - dbg " - Look for $LNK in $TRGT"
156 - testf "$f" "$TRGT"
157 - if [ $? -eq 0 ] ; then
158 - testinternal "$f" "$TRGT" "$LNK"
159 - if [ $? -eq 0 ] ; then
160 - if [ "$fname" != "README.md" ] ; then s="../$rlnk"; fi
161 - fi
162 - fi
163 - fi
164 - ;;
165 - *.md )
166 - dbg " - # (path/filename.md) -> htmldoc (path/filename/)"
167 - testf "$f" "$fpath/$rlnk"
168 - if [ $? -eq 0 ] ; then
169 - if [[ $rlnk =~ ^(.*)/(.*).md$ ]] ; then
170 - if [ "${BASH_REMATCH[2]}" = "README" ] ; then
171 - s="${BASH_REMATCH[1]}/"
172 - else
173 - s="${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/"
174 - fi
175 - if [ "$fname" != "README.md" ] ; then s="../$s"; fi
176 - fi
177 - fi
178 - ;;
179 - *.md\#* )
180 - dbg " - # (path/filename.md#somelink) -> htmldoc (path/filename/#somelink)"
181 - if [[ $rlnk =~ ^(.*)#(.*)$ ]] ; then
182 - TRGT="$fpath/${BASH_REMATCH[1]}"
183 - LNK="#${BASH_REMATCH[2]}"
184 - testf "$f" "$TRGT"
185 - if [ $? -eq 0 ] ; then
186 - testinternal "$f" "$TRGT" "$LNK"
187 - if [ $? -eq 0 ] ; then
188 - if [[ $lnk =~ ^(.*)/(.*).md#(.*)$ ]] ; then
189 - if [ "${BASH_REMATCH[2]}" = "README" ] ; then
190 - s="${BASH_REMATCH[1]}/#${BASH_REMATCH[3]}"
191 - else
192 - s="${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/#${BASH_REMATCH[3]}"
193 - fi
194 - if [ "$fname" != "README.md" ] ; then s="../$s"; fi
195 - fi
196 - fi
197 - fi
198 - fi
199 - ;;
200 - *\#* )
201 - dbg " - # (path#somelink) -> (path/#somelink)"
202 - if [[ $rlnk =~ ^(.*)#(.*)$ ]] ; then
203 - TRGT="$fpath/${BASH_REMATCH[1]}/README.md"
204 - LNK="#${BASH_REMATCH[2]}"
205 - testf "$f" "$TRGT"
206 - if [ $? -eq 0 ] ; then
207 - testinternal "$f" "$TRGT" "$LNK"
208 - if [ $? -eq 0 ] ; then
209 - if [[ $rlnk =~ ^(.*)#(.*)$ ]] ; then
210 - s="${BASH_REMATCH[1]}/#${BASH_REMATCH[2]}"
211 - if [ "$fname" != "README.md" ] ; then s="../$s"; fi
212 - fi
213 - fi
214 - fi
215 - fi
216 - ;;
217 - * )
218 - if [ -d "$fpath/$rlnk" ] ; then
219 - dbg " - # (path) -> htmldoc (path/)"
220 - testf "$f" "$fpath/$rlnk/README.md"
221 - if [ $? -eq 0 ] ; then
222 - s="$rlnk/"
223 - if [ "$fname" != "README.md" ] ; then s="../$s"; fi
224 - fi
225 - else
226 - cd - >/dev/null
227 - if [ -f "$fpath/$rlnk" ] ; then
228 - dbg " - # (path/someotherfile) $rlnk"
229 - if [ "$fpath" = "." ] ; then
230 - s="https://github.com/netdata/netdata/tree/master/$rlnk"
231 - else
232 - s="https://github.com/netdata/netdata/tree/master/$fpath/$rlnk"
233 - fi
234 - else
235 - echo " - ERROR: $f - $rlnk is neither a file or a directory. Giving up!"
236 - EXITCODE=1
237 - fi
238 - cd $DOCS_DIR >/dev/null
239 - fi
240 - ;;
241 - esac
242 -
243 - if [[ ! -z $s ]] ; then
244 - srch=$(echo "$rlnk" | sed 's/\//\\\//g')
245 - rplc=$(echo "$s" | sed 's/\//\\\//g')
246 - fix "sed -i 's/($srch)/($rplc)/g' $f"
247 - fi
248 -}
249 -
250 -
251 -checklinks () {
252 - f=$1
253 - dbg "Checking $f"
254 - while read -r l ; do
255 - for word in $l ; do
256 - if [[ $word =~ .*\]\(([^\(\) ]*)\).* ]] ; then
257 - lnk=$(echo "${BASH_REMATCH[1]}" | tr -d '<>')
258 - if [ -z "$lnk" ] ; then continue ; fi
259 - dbg " $lnk"
260 - case "$lnk" in
261 - mailto:* ) dbg " - Mailto link, ignoring" ;;
262 - https://github.com/netdata/netdata/wiki* )
263 - dbg " - Wiki Link $lnk"
264 - if [ "$CHKWIKI" -eq 1 ] ; then echo " - WARNING: $f - $lnk points to the wiki. Please replace it manually" ; fi
265 - ;;
266 - https://github.com/netdata/netdata/????/master* )
267 - echo " - ERROR: $f - $lnk is an absolute link to a Netdata file. Please convert to relative."
268 - EXITCODE=1
269 - ;;
270 - http* )
271 - dbg " - External link $lnk"
272 - if [ "$CHKEXTERNAL" -eq 1 ] ; then
273 - testURL "$lnk"
274 - if [ $? -eq 1 ] ; then
275 - echo " - ERROR: $f - $lnk is a broken link"
276 - EXITCODE=1
277 - fi
278 - fi
279 - ;;
280 - * )
281 - dbg " - Relative link $lnk"
282 - if [ "$CHKRELATIVE" -eq 1 ] ; then ck_netdata_relative "$f" "$lnk" ; fi
283 - ;;
284 - esac
285 - fi
286 - done
287 - done < "$f"
288 -}
289 -
290 -TESTURLS=0
291 -VERBOSE=0
292 -RECURSIVE=0
293 -EXECUTE=0
294 -CHKWIKI=0
295 -CHKABSOLUTE=0
296 -CHKEXTERNAL=0
297 -CHKRELATIVE=0
298 -while getopts :f:rxuvwbela option
299 -do
300 - case "$option" in
301 - f)
302 - file=$OPTARG
303 - ;;
304 - r)
305 - RECURSIVE=1
306 - ;;
307 - x)
308 - EXECUTE=1
309 - ;;
310 - u)
311 - TESTURLS=1
312 - ;;
313 - v)
314 - VERBOSE=1
315 - ;;
316 - w)
317 - CHKWIKI=1
318 - ;;
319 - b)
320 - CHKABSOLUTE=1
321 - ;;
322 - e)
323 - CHKEXTERNAL=1
324 - ;;
325 - l)
326 - CHKRELATIVE=1
327 - ;;
328 - a)
329 - CHKWIKI=1
330 - CHKABSOLUTE=1
331 - CHKEXTERNAL=1
332 - CHKRELATIVE=1
333 - ;;
334 - *)
335 - printhelp
336 - exit 1
337 - ;;
338 - esac
339 -done
340 -
341 -EXITCODE=0
342 -
343 -if [ -z "${file}" ] ; then
344 - if [ $RECURSIVE -eq 0 ] ; then
345 - printhelp
346 - exit 1
347 - fi
348 - cd ${DOCS_DIR}
349 - for f in $(find . -type d \( -path ./${GENERATOR_DIR} -o -path ./node_modules \) -prune -o -name "*.md" -print); do
350 - checklinks "$f"
351 - done
352 - cd -
353 -else
354 - if [ $RECURSIVE -eq 1 ] ; then
355 - printhelp
356 - exit 1
357 - fi
358 - checklinks "$file"
359 -fi
360 -
361 -exit $EXITCODE
docs/generator/custom/css/netdata.css deleted
-535
@@ -1,535 +0,0 @@
1 -/* Fonts */
2 -@import url('https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400,400i,500,700,700i&display=swap');
3 -
4 -body, input {
5 - font-family: "IBM Plex Sans","Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;
6 -}
7 -
8 -.md-typeset {
9 - font-size: .85rem;
10 - line-height: 1.5;
11 -}
12 -
13 -/* Main structure */
14 -.md-container {
15 - flex-flow: row wrap;
16 -}
17 -
18 -.md-grid {
19 - max-width: 80rem;
20 - display: flex;
21 - position: relative;
22 - overflow: visible;
23 - flex-direction: row;
24 - justify-content: space-between;
25 -}
26 -
27 -.md-content {
28 - margin-right: 0;
29 - margin-bottom: 6rem;
30 - margin-left: 0;
31 - max-width: 45rem;
32 - overflow: hidden;
33 -}
34 -
35 -.md-sidebar[data-md-state="lock"] {
36 - position: sticky;
37 -}
38 -
39 -.md-sidebar {
40 - position: sticky;
41 - flex: 0 0 320px;
42 -}
43 -
44 -.md-sidebar--secondary {
45 - right: 0;
46 - margin-left: 0;
47 - transform: none;
48 - order: 3;
49 -}
50 -
51 -.md-content__inner {
52 - margin-right: 2.5rem;
53 - margin-left: 2.5rem;
54 -}
55 -
56 -@media screen and (max-width: 76.1875em) {
57 - .md-sidebar--primary {
58 - position: fixed;
59 - }
60 -}
61 -
62 -@media only screen and (max-width: 500px) {
63 - .md-content__inner {
64 - margin-right: 1rem;
65 - margin-left: 1rem;
66 - }
67 -}
68 -
69 -/*
70 - Navigation
71 -*/
72 -
73 -.md-header-nav {
74 - padding: 0 0.6rem;
75 -}
76 -
77 -@media only screen and (max-width: 76.25em) {
78 - .md-header-nav {
79 - padding: 0 2.5rem;
80 - }
81 -}
82 -
83 -@media only screen and (max-width: 500px) {
84 - .md-header-nav {
85 - padding: 0.3rem 1rem;
86 - }
87 -
88 - .md-header-nav__title {
89 - display: none;
90 - }
91 -}
92 -
93 -[data-md-color-primary="blue-grey"] .md-header {
94 - background: #35414A;
95 -}
96 -
97 -html [data-md-color-primary="blue-grey"] .md-nav--primary .md-nav__title--site {
98 - background-color: #35414A;
99 -}
100 -
101 -[data-md-color-primary="blue-grey"] .md-nav__source {
102 - background-color: #546e7a
103 -}
104 -
105 -.md-flex__cell {
106 - vertical-align: middle;
107 -}
108 -
109 -.md-header-nav__button {
110 - margin: 0;
111 - padding: 0;
112 - top: 2px;
113 -}
114 -
115 -/* Change the language selector dropdown to match new color. */
116 -.md-header-nav select#sel {
117 - background-color: rgba(0,0,0,.26) !important;
118 - padding: 3px;
119 - margin-left: 5px;
120 - margin-right: 20px;
121 -}
122 -
123 -@media only screen and (max-width: 500px) {
124 - img[src='/custom/img/geography-16.png'] {
125 - display: none;
126 - }
127 -
128 - .md-header-nav select#sel {
129 - margin: 0;
130 - }
131 -}
132 -
133 -/* Algolia search */
134 -#search_algolia {
135 - font-size: 0.7rem;
136 - padding: 0.4rem;
137 - border-radius: 3px;
138 - min-width: 300px;
139 -}
140 -
141 -@media only screen and (max-width: 76.25em) {
142 - #search_algolia {
143 - min-width: 100px;
144 - }
145 -}
146 -
147 -@media only screen and (max-width: 700px) {
148 - #search_algolia {
149 - width: 150px;
150 - }
151 -}
152 -
153 -@media only screen and (max-width: 500px) {
154 - #search_algolia {
155 - width: 100px;
156 - }
157 -}
158 -
159 -.algolia-autocomplete .algolia-docsearch-suggestion--category-header {
160 - font-size: 0.9rem !important;
161 -}
162 -
163 -.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column {
164 - font-size: 0.7rem;
165 -}
166 -
167 -.algolia-autocomplete .algolia-docsearch-suggestion--title {
168 - font-size: 0.8rem;
169 -}
170 -
171 -.algolia-autocomplete .algolia-docsearch-suggestion--text {
172 - font-size: 0.7rem;
173 - line-height: 1.5;
174 -}
175 -
176 -.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,
177 -.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {
178 - box-shadow: inset 0 -1px 0 0 #00CB51;
179 -}
180 -
181 -.algolia-autocomplete .algolia-docsearch-suggestion--highlight {
182 - color: #00AB44;
183 - background: #F1F2F3;
184 -}
185 -
186 -@media only screen and (max-width: 768px) {
187 - .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column {
188 - font-size: 0.7rem;
189 - font-weight: 400;
190 - }
191 -
192 - .algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu {
193 - right: -150px !important;
194 - }
195 -
196 - .algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu::before {
197 - right: 248px;
198 - }
199 -}
200 -
201 -@media only screen and (max-width: 600px) {
202 - .algolia-autocomplete .ds-dropdown-menu {
203 - min-width: 400px;
204 - }
205 -}
206 -
207 -/*
208 - Left-hand navigation
209 -*/
210 -
211 -.md-nav {
212 - font-size: 0.8rem;
213 -}
214 -
215 -/* Bold the first item on the docs sidebar: Netdata Documentation. */
216 -.md-nav--primary > .md-nav__list > .md-nav__item:first-of-type {
217 - font-weight: 700;
218 -}
219 -
220 -/* Hide the label at the top of the navigation menu. Does nothing.
221 - Well, it does do something on mobile, and this media query makes
222 - sure it's hidden only on screens wide enough to not use the mobile sidebar. */
223 -@media only screen and (min-width:76.25em) {
224 - .md-nav--primary .md-nav__title {
225 - display: none;
226 - }
227 -}
228 -
229 -/* Differentiate between main TOC items and sub-items. */
230 -
231 -.md-nav--primary > .md-nav__list > .md-nav__item > .md-nav__link {
232 - font-weight: 500;
233 -}
234 -
235 -[data-md-color-primary="blue-grey"] .md-nav__link--active, [data-md-color-primary="blue-grey"] .md-nav__link:active {
236 - color: #00AB44;
237 -}
238 -
239 -/*
240 - Documentation homepage
241 - In particular, the three buttons for install/getting started/configuration.
242 -*/
243 -.homepage-nav {
244 - display: flex;
245 - flex-flow: row wrap;
246 - margin: 1.4rem -1rem 2rem -1rem;
247 -}
248 -
249 -.nav-page {
250 - display: flex;
251 - flex: 1 1 calc(50% - 2rem);
252 - flex-direction: column;
253 - margin: 1rem;
254 - border-radius: 2px;
255 -}
256 -
257 -.md-typeset .nav-page:hover {
258 - border: 0;
259 -}
260 -
261 -@media only screen and (max-width:76.25em) {
262 - .nav-page {
263 - flex: 1 1 100%;
264 - }
265 -}
266 -
267 -.button-header {
268 - padding: 1rem 1.4rem;
269 - display: flex;
270 - align-items: center;
271 - justify-content: space-between;
272 - border: 2px solid #00AB44;
273 - border-radius: 3px 3px 0 0;
274 -}
275 -
276 -.button-header h3 {
277 - color: #35414A;
278 - font-weight: 700;
279 - margin: 0;
280 -}
281 -
282 -.button-header svg {
283 - color: #35414A;
284 - position: relative;
285 - transition-property: left;
286 - transition-timing-function: ease-in-out;
287 - transition-duration: 200ms;
288 -}
289 -
290 -.nav-page:hover svg {
291 - left: 4px;
292 -}
293 -
294 -.button-text {
295 - flex: 1 1 auto;
296 - color: #35414A;
297 - padding: 1rem 1.4rem;
298 - border-right: 1px solid #AEB3B7;
299 - border-bottom: 1px solid #AEB3B7;
300 - border-left: 1px solid #AEB3B7;
301 - border-radius: 0 0 3px 3px;
302 -}
303 -
304 -.button-text p {
305 - margin: 0;
306 -}
307 -
308 -/* Custom styling for the installation page. */
309 -
310 -.install-nav-buttons {
311 - display: flex;
312 - flex-flow: row wrap;
313 - justify-content: space-around;
314 - margin-top: 1.4rem;
315 -}
316 -
317 -.install-nav-buttons div {
318 - flex: 1;
319 - min-width: 300px;
320 -}
321 -
322 -.install-nav-buttons div:first-of-type {
323 - flex: 1 100%;
324 -}
325 -
326 -.install-nav-buttons div:first-of-type .inner {
327 - max-width: 400px;
328 - margin: 0 auto;
329 - margin-bottom: 1rem;
330 -}
331 -
332 -.install-nav-buttons > div:last-of-type {
333 - margin-left: 2rem;
334 -}
335 -
336 -/* Custom styling for the installation page. */
337 -
338 -.install-nav-buttons {
339 - display: flex;
340 - flex-flow: row wrap;
341 - justify-content: space-around;
342 - margin-top: 1.4rem;
343 -}
344 -
345 -.install-nav-buttons div {
346 - flex: 1;
347 - min-width: 300px;
348 -}
349 -
350 -.install-nav-buttons div:first-of-type {
351 - flex: 1 100%;
352 -}
353 -
354 -.install-nav-buttons div:first-of-type .inner {
355 - max-width: 400px;
356 - margin: 0 auto;
357 - margin-bottom: 1rem;
358 -}
359 -
360 -.install-nav-buttons > div:last-of-type {
361 - margin-left: 2rem;
362 -}
363 -
364 -.nav-button {
365 - border: 2px solid black;
366 - border-radius: 4px;
367 - display: block;
368 - font-weight: 700;
369 - margin: 0 auto -0.4rem auto;
370 - padding: 0.6rem 0;
371 - text-align: center;
372 -}
373 -
374 -/*
375 - Markdown/body content
376 -*/
377 -
378 -/* Make header a bit bolder with new IBM Plex Sans font. */
379 -.md-typeset h1,
380 -.md-typeset h2,
381 -.md-typeset h3,
382 -.md-typeset h4,
383 -.md-typeset h5 {
384 - font-weight: 500;
385 -}
386 -
387 -/* Make sure inline code in tables don't break. */
388 -.md-typeset__table code {
389 - word-break: normal;
390 -}
391 -
392 -/* Make the clipboard button a little darker. */
393 -.md-clipboard::before {
394 - color: #546e7a;
395 -}
396 -
397 -.md-clipboard:focus::before {
398 - color: #546e7a;
399 -}
400 -
401 -/* Underline links, but not badges/icons. */
402 -.md-typeset a:not(.nav-button):not(.md-icon):not(.nav-page):not(.headerlink):not(.md-footer-social__link) {
403 - color: #00AB44;
404 -}
405 -
406 -.md-typeset a:not(.nav-button):not(.md-icon):not(.nav-page):not(.headerlink):not(.installer-grid > p > a):not(.md-footer-social__link):hover {
407 - color: #35414A;
408 - border-bottom: 1px solid #35414A;
409 -}
410 -
411 -/* Remove underlines on specific badges. */
412 -.md-typeset a[href='https://travis-ci.com/netdata/netdata'],
413 -.md-typeset a[href='https://bestpractices.coreinfrastructure.org/projects/2231'],
414 -.md-typeset a[href='https://www.gnu.org/licenses/gpl-3.0'],
415 -.md-typeset a[href='https://codeclimate.com/github/netdata/netdata'],
416 -.md-typeset a[href='https://www.codacy.com/app/netdata/netdata?utm_source=github.com&utm_medium=referral&utm_content=netdata/netdata&utm_campaign=Badge_Grade'],
417 -.md-typeset a[href='https://lgtm.com/projects/g/netdata/netdata/context:cpp'],
418 -.md-typeset a[href='https://lgtm.com/projects/g/netdata/netdata/context:javascript'],
419 -.md-typeset a[href='https://lgtm.com/projects/g/netdata/netdata/context:python'],
420 -.md-typeset a[href='https://hub.docker.com/r/netdata/netdata/'],
421 -.md-typeset a[href='https://hub.docker.com/r/firehol/netdata/'],
422 -.md-typeset a[href='https://hub.docker.com/r/titpetric/netdata/'],
423 -.md-typeset a[href='https://registry.my-netdata.io/#menu_netdata_submenu_registry'] {
424 - border-bottom: 0 !important;
425 -}
426 -
427 -/* Fix the font size of admonition and details sections. */
428 -.md-typeset .admonition, .md-typeset details {
429 - font-size: 0.75rem;
430 -}
431 -
432 -.md-typeset details > summary {
433 - font-weight: 400;
434 -}
435 -
436 -/* Support figures and figcaptions with some styling. */
437 -.md-typeset figure img {
438 - border-radius: 3px 3px 0 0;
439 -}
440 -
441 -.md-typeset figure figcaption {
442 - font-size: 0.75rem;
443 - font-style: italic;
444 - margin-top: -8px;
445 - padding: 0.5rem;
446 - border-width: 0 1px 1px 1px;
447 - border-color: #AEB3B7;
448 - border-style: solid;
449 -}
450 -
451 -/*
452 - Installer grid
453 -*/
454 -
455 -/* Installation / OS and method grid */
456 -.installer-grid {
457 - display: grid;
458 - grid-template-columns: repeat(4, [col-start] 1fr);
459 - grid-gap: 2rem;
460 -}
461 -
462 -.installer-grid > p {
463 - grid-column: span 2;
464 - margin: 0;
465 -}
466 -
467 -.installer-grid > p > a {
468 - display: flex;
469 - flex-direction: row;
470 - align-items: center;
471 - padding: 1rem;
472 - border: 1px solid #AEB3B7;
473 -}
474 -
475 -.installer-grid > p > a:hover {
476 - border: 1px solid #00AB44;
477 -}
478 -
479 -.installer-grid a img {
480 - vertical-align: text-bottom;
481 - height: 64px;
482 - flex: 0 0 64px;
483 - padding-right: 1rem;
484 -}
485 -
486 -.grid-item {
487 - grid-column: span 2;
488 - border-radius: 2px;
489 - border: 1px solid #AEB3B7;
490 - padding: 1rem;
491 -}
492 -
493 -@media only screen and (max-width:76.25em) {
494 - .installer-grid {
495 - grid-gap: 1rem;
496 - }
497 -
498 - .installer-grid > p {
499 - grid-column: span 4;
500 - }
501 -}
502 -
503 -.item-title {
504 - display: flex;
505 - flex-flow: row nowrap;
506 - align-items: center;
507 -}
508 -
509 -.md-typeset .item-title img {
510 - border: 0;
511 - display: inline;
512 - margin: 0 1rem 0 0;
513 - max-height: 64px;
514 - vertical-align: middle;
515 -}
516 -
517 -.grid-item h3 {
518 - margin-top: 0;
519 - margin-bottom: 0;
520 -}
521 -
522 -.grid-item ul {
523 - margin-bottom: 0;
524 -}
525 -
526 -.grid-item ul li {
527 - list-style-type: disclosure-closed;
528 - margin: 0;
529 -}
530 -
531 -.md-typeset .grid-item li a {
532 - border-bottom: 0px !important;
533 - text-decoration: none;
534 - display: inline;
535 -}
\ No newline at end of file
docs/generator/custom/img/favicon.ico
Binary files a/docs/generator/custom/img/favicon.ico and /dev/null differ
docs/generator/custom/img/geography-16.png
Binary files a/docs/generator/custom/img/geography-16.png and /dev/null differ
docs/generator/custom/img/netdata_docs.png
Binary files a/docs/generator/custom/img/netdata_docs.png and /dev/null differ
docs/generator/custom/img/netdata_logo.svg deleted
-1
@@ -1 +0,0 @@
1 -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 114 114"><defs><style>.cls-1{fill:#fff;}</style></defs><title>logo_white_fill</title><g id="mask-2"><path class="cls-1" d="M70,102H47.24L.61,12H66.79a46.65,46.65,0,0,1,46.6,46.6A43.45,43.45,0,0,1,70,102Z"/></g></svg>
\ No newline at end of file
docs/generator/custom/img/netdata_text.svg deleted
-1
@@ -1 +0,0 @@
1 -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 398 398"><defs><style>.cls-1{fill:#fff;}</style></defs><title>logo_white_text_white</title><g id="mask-2"><path class="cls-1" d="M70.27,244H47.51L.88,154H67.06a46.65,46.65,0,0,1,46.6,46.6A43.44,43.44,0,0,1,70.27,244Z"/></g><g id="mask-2-2" data-name="mask-2"><path class="cls-1" d="M278,214h-8l-.06-30h7a15.53,15.53,0,0,1,15.52,15.52A14.51,14.51,0,0,1,278,214Zm-6.32-1.66H278a12.85,12.85,0,0,0,12.84-12.84A13.89,13.89,0,0,0,277,185.58H271.6Z"/></g><path class="cls-1" d="M157.22,183.91h2.33l19,27.67h.08V183.91h1.86v30.17h-2.19l-19.18-27.89h-.09v27.89h-1.86Z"/><path class="cls-1" d="M198.54,183.91h20.28v1.61H200.4V197.6h17.32v1.6H200.4v13.27H219v1.61H198.54Z"/><path class="cls-1" d="M231.62,185.52v-1.61h23.11v1.61H244.08v28.56h-1.86V185.52Z"/><path class="cls-1" d="M317.44,183.91h2l11.91,30.17h-2l-3.81-9.68H311.15l-3.85,9.68h-2ZM325,202.8l-6.46-17.07h-.08l-6.72,17.07Z"/><path class="cls-1" d="M339.66,185.52v-1.61h23.11v1.61H352.13v28.56h-1.86V185.52Z"/><path class="cls-1" d="M383.18,183.91h2l11.91,30.17h-2l-3.8-9.68H376.88L373,214.08h-2Zm7.56,18.89-6.46-17.07h-.09l-6.72,17.07Z"/></svg>
\ No newline at end of file
docs/generator/custom/javascripts/cookie-consent.js deleted
-15
@@ -1,15 +0,0 @@
1 -window.addEventListener("load", function(){
2 -window.cookieconsent.initialise({
3 - "palette": {
4 - "popup": {
5 - "background": "#000"
6 - },
7 - "button": {
8 - "background": "#f1d600"
9 - }
10 - },
11 - "content": {
12 - "href": "https://docs.netdata.cloud/docs/privacy-policy/"
13 - }
14 -})});
15 -
docs/generator/custom/themes/material/main.html deleted
-43
@@ -1,43 +0,0 @@
1 -{% extends "base.html" %}
2 -
3 -{% block extrahead %}
4 -
5 - <meta property="og:url" content="{{ page.canonical_url }}">
6 - {% if page and page.meta and page.meta.title %}
7 - <meta property="og:title" content="{{ page.meta.title }}">
8 - {% elif page and page.title and not page.is_homepage %}
9 - <meta property="og:title" content="{{ page.title }} - {{ config.site_name }}">
10 - {% else %}
11 - <meta property="og:title" content="{{ config.site_name }}">
12 - {% endif %}
13 -
14 - {% if page and page.meta and page.meta.description %}
15 - <meta property="og:description" content="{{ page.meta.description }}">
16 - {% elif config.site_description %}
17 - <meta property="og:description" content="{{ config.site_description }}">
18 - {% endif %}
19 - <meta property="og:image" content="custom/img/netdata_docs.png">
20 - <meta property="og:image:alt" content="Netdata documentation: Learn about real-time health monitoring and performance troubleshooting for systems and applications">
21 - <meta property="og:image:type" content="image/jpeg">
22 - <meta property="og:image:width" content="1200">
23 - <meta property="og:image:height" content="630">
24 -
25 - <meta name="twitter:card" content="summary_large_image">
26 - <meta name="twitter:site" content="@linuxnetdata">
27 - <meta name="twitter:creator" content="@linuxnetdata">
28 - {% if page and page.meta and page.meta.title %}
29 - <meta property="twitter:title" content="{{ page.meta.title }}">
30 - {% elif page and page.title and not page.is_homepage %}
31 - <meta property="twitter:title" content="{{ page.title }} - {{ config.site_name }}">
32 - {% else %}
33 - <meta property="twitter:title" content="{{ config.site_name }}">
34 - {% endif %}
35 - {% if page and page.meta and page.meta.description %}
36 - <meta name="twitter:description" content="{{ page.meta.description }}">
37 - {% elif config.site_description %}
38 - <meta name="twitter:description" content="{{ config.site_description }}">
39 - {% endif %}
40 - <meta name="twitter:image" content="custom/img/netdata_docs.png">
41 - <meta name="twitter:image:alt" content="Netdata documentation: Learn about real-time health monitoring and performance troubleshooting for systems and applications">
42 -
43 -{% endblock %}
\ No newline at end of file
docs/generator/custom/themes/material/partials/footer.html deleted
-76
@@ -1,76 +0,0 @@
1 -{% import "partials/language.html" as lang with context %}
2 -<footer class="md-footer">
3 - {% if page.previous_page or page.next_page %}
4 - <div class="md-footer-nav">
5 - <nav class="md-footer-nav__inner md-grid">
6 - {% if page.previous_page %}
7 - <a href="{{ page.previous_page.url | url }}" title="{{ page.previous_page.title }}" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
8 - <div class="md-flex__cell md-flex__cell--shrink">
9 - <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
10 - </div>
11 - <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
12 - <span class="md-flex__ellipsis">
13 - <span class="md-footer-nav__direction">
14 - {{ lang.t("footer.previous") }}
15 - </span>
16 - {{ page.previous_page.title }}
17 - </span>
18 - </div>
19 - </a>
20 - {% endif %}
21 - {% if page.next_page %}
22 - <a href="{{ page.next_page.url | url }}" title="{{ page.next_page.title }}" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
23 - <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
24 - <span class="md-flex__ellipsis">
25 - <span class="md-footer-nav__direction">
26 - {{ lang.t("footer.next") }}
27 - </span>
28 - {{ page.next_page.title }}
29 - </span>
30 - </div>
31 - <div class="md-flex__cell md-flex__cell--shrink">
32 - <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
33 - </div>
34 - </a>
35 - {% endif %}
36 - </nav>
37 - </div>
38 - {% endif %}
39 - <div class="md-footer-meta md-typeset">
40 - <div class="md-footer-meta__inner md-grid">
41 - <div class="md-footer-copyright">
42 - {% if config.copyright %}
43 - <div class="md-footer-copyright__highlight">
44 - {{ config.copyright }} | <a href="/docs/privacy-policy/">Privacy Policy</a> | <a href="/docs/terms-of-use/">Terms of Use</a>
45 - </div>
46 - {% endif %}
47 - </div>
48 - {% block social %}
49 - {% include "partials/social.html" %}
50 - {% endblock %}
51 - </div>
52 - </div>
53 -</footer>
54 -<script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-64295674-3",""),ga("set","anonymizeIp",!0),ga("send","pageview","/doc"+window.location.pathname);var links=document.getElementsByTagName("a");if(Array.prototype.map.call(links,function(a){a.host!=document.location.host&&a.addEventListener("click",function(){var e=a.getAttribute("data-md-action")||"follow";ga("send","event","outbound",e,a.href)})}),document.forms.search){var query=document.forms.search.query;query.addEventListener("blur",function(){if(this.value){var e=document.location.pathname;ga("send","pageview",e+"?q="+this.value)}})}</script>
55 -<script>
56 - let currentLang = getLanguage();
57 -
58 - let sel = document.getElementById('sel');
59 - let opts = sel.options;
60 - for (let opt, j = 0; opt = opts[j]; j++) {
61 - if (opt.value == currentLang) {
62 - sel.selectedIndex = j;
63 - break;
64 - }
65 - }
66 -
67 -</script>
68 -
69 -<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
70 -<script type="text/javascript"> docsearch({
71 -apiKey: '3af6387793ce3d86f1b9395ad6e4bc16',
72 -indexName: 'netdata',
73 -inputSelector: '#search_algolia',
74 -debug: true // Set debug to true if you want to inspect the dropdown
75 -});
76 -</script>
\ No newline at end of file
docs/generator/custom/themes/material/partials/header.html deleted
-104
@@ -1,104 +0,0 @@
1 -<header class="md-header" data-md-component="header">
2 - <nav class="md-header-nav md-grid">
3 - <div class="md-flex">
4 - <div class="md-flex__cell md-flex__cell--shrink">
5 - <a href="{{ config.site_url | default(nav.homepage.url, true) | url }}" title="{{ config.site_name }}" class="md-header-nav__button md-logo">
6 - {% if config.theme.logo.icon %}
7 - <i class="md-icon">{{ config.theme.logo.icon }}</i>
8 - {% else %}
9 - <img src="{{ config.theme.logo | url }}" width="32" height="32">
10 - {% endif %}
11 - </a>
12 - </div>
13 - <div class="md-flex__cell md-flex__cell--shrink">
14 - <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
15 - </div>
16 - <div class="md-flex__cell md-flex__cell--stretch">
17 - <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
18 - {% block site_name %}
19 - {% if config.site_name == page.title %}
20 - {{ config.site_name }}
21 - {% else %}
22 - <span class="md-header-nav__topic">
23 - {{ config.site_name }}
24 - </span>
25 - <span class="md-header-nav__topic">
26 - {{ page.title }}
27 - </span>
28 - {% endif %}
29 - {% endblock %}
30 - </div>
31 - </div>
32 - <div class="md-flex__cell md-flex__cell--shrink">
33 - <input id="search_algolia" type="text" name="search" placeholder="Search Netdata's docs...">
34 - </div>
35 -
36 - <!-- netdata -->
37 - <style>
38 - .language-selector li {
39 - list-style: none;
40 - }
41 -
42 - .language-option.selected {
43 - background-color: #ccc;
44 - }
45 - </style>
46 - <script>
47 - function getLanguage() {
48 - const lang = window.location.pathname.split("/")[1];
49 -
50 - if (lang.length == 0 || lang.length > 2) {
51 - return "en";
52 - }
53 -
54 - return lang;
55 - }
56 -
57 - function languagePrefix(lang) {
58 - if (lang === "en") {
59 - return "";
60 - }
61 -
62 - return `/${lang}`;
63 - }
64 -
65 - function updatePathname(pathname, lang) {
66 - if (currentLang !== "en") {
67 - const parts = pathname.split("/");
68 - parts.shift();
69 - parts.shift();
70 - pathname = `/${parts.join("/")}`;
71 - }
72 -
73 - return `${languagePrefix(lang)}${pathname}`;
74 - }
75 -
76 - function setLanguage(sel) {
77 - if (sel.value === currentLang) {
78 - return;
79 - }
80 -
81 - window.location.pathname = updatePathname(window.location.pathname, sel.value);
82 - }
83 - </script>
84 -
85 - <div style="vertical-align: middle; white-space: nowrap; padding-left: 20px;" class="md-flex__cell md-flex__cell--shrink">
86 - <img src="/custom/img/geography-16.png" style="vertical-align: middle;"/>
87 - <select id="sel" onchange="setLanguage(this);" style="vertical-align: middle; background-color: #3f51b5; color: white; border: none;">
88 - <option href="#" value='en'>English</option>
89 - <option href="#" value='zh'>中文</option>
90 - <option href="#" value='pt'>Portugues-Brasil</option>
91 - <option href="#" value='kr'>한국어</option>
92 - </select>
93 - </div>
94 -
95 - {% if config.repo_url %}
96 - <div class="md-flex__cell md-flex__cell--shrink">
97 - <div class="md-header-nav__source">
98 - {% include "partials/source.html" %}
99 - </div>
100 - </div>
101 - {% endif %}
102 - </div>
103 - </nav>
104 -</header>
\ No newline at end of file
docs/generator/requirements.txt deleted
-2
@@ -1,2 +0,0 @@
1 -mkdocs>=1.0.1
2 -mkdocs-material==4.6.3
docs/generator/runtime.txt deleted
-1
@@ -1 +0,0 @@
1 -3.5
netlify.toml deleted
-20
@@ -1,20 +0,0 @@
1 -# Settings in the [build] context are global and are applied to all contexts
2 -# unless otherwise overridden by more specific contexts.
3 -[build]
4 - # Directory to change to before starting a build.
5 - base = "/docs/generator"
6 -
7 - # Directory (relative to root of your repo) that contains the deploy-ready
8 - # HTML files and assets generated by the build.
9 - publish = "docs/generator/build"
10 -
11 - # Default build command.
12 - command = "./buildhtml.sh"
13 -
14 -[[redirects]]
15 - from = "/docs/GettingStarted/"
16 - to = "/docs/getting-started"
17 -
18 -[[redirects]]
19 - from = "/docs/tutorials/dimension-templates/"
20 - to = "/health/tutorials/dimension-templates/"
\ No newline at end of file