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