{{ .Params.title }}
16 |{{ .Params.excerpt | safeHTML }}
17 | {{ partial "main/blog-meta.html" . -}} 18 |{{ .Params.excerpt | safeHTML }}
17 | {{ partial "main/blog-meta.html" . -}} 18 |{{ .Params.lead | safeHTML }}
31 | {{ if ne .Params.toc false -}} 32 | 35 | {{ end -}} 36 |{{ .Params.lead | safeHTML }}
31 | {{ if ne .Params.toc false -}} 32 | 35 | {{ end -}} 36 |{{ .name }} | 7 |8 | {{ if (eq .class "trend") }} 9 | Trend / Stateful 10 | {{ else if (eq .class "fingerprint" )}} 11 | Fingerprint 12 | {{ else }} 13 | {{ .class }} 14 | {{ end }} 15 | | 16 |17 | {{ if (eq .phy "dot11") }} 18 | IEEE80211 / Wi-Fi 19 | {{ else if (eq .phy "bt" )}} 20 | Bluetooth 21 | {{ else }} 22 | {{ .phy }} 23 | {{ end }} 24 | | 25 |
28 | {{ with .deprecated }}
29 | Deprecated 30 | {{ end }} 31 | 32 | {{ with .added }} 33 |Added: |
38 |
{{ .name }} | 7 |8 | {{ if (eq .class "trend") }} 9 | Trend / Stateful 10 | {{ else if (eq .class "fingerprint" )}} 11 | Fingerprint 12 | {{ else }} 13 | {{ .class }} 14 | {{ end }} 15 | | 16 |17 | {{ if (eq .phy "dot11") }} 18 | IEEE80211 / Wi-Fi 19 | {{ else if (eq .phy "bt" )}} 20 | Bluetooth 21 | {{ else }} 22 | {{ .phy }} 23 | {{ end }} 24 | | 25 |
28 | {{ with .deprecated }}
29 | Deprecated 30 | {{ end }} 31 | 32 | {{ with .added }} 33 |Added: |
38 |
Posted{{ if .Params.categories -}} in {{ range $index, $category := .Params.categories -}}{{ if gt $index 0 -}}, {{ end -}}{{ . }}{{ end -}}{{ end -}} on {{ .PublishDate.Format "January 2, 2006" }} by {{ if .Params.contributors -}}{{ range $index, $contributor := .Params.contributors }}{{ if gt $index 0 }}{{ if eq $index $last }} and {{ else }}, {{ end }}{{ end }}{{ . }}{{ end -}}{{ end -}} ‐
3 | -------------------------------------------------------------------------------- /layouts/partials/sidebar/docs-menu.html: -------------------------------------------------------------------------------- 1 | {{ if and .Site.Params.menu.section.auto .Site.Params.menu.section.collapsibleSidebar -}} 2 | {{ partial "sidebar/auto-collapsible-menu.html" . -}} 3 | {{ else if and .Site.Params.menu.section.auto (not .Site.Params.menu.section.collapsibleSidebar) -}} 4 | {{ partial "sidebar/auto-default-menu.html" . -}} 5 | {{ else if and (not .Site.Params.menu.section.auto) .Site.Params.menu.section.collapsibleSidebar -}} 6 | {{ partial "sidebar/manual-collapsible-menu.html" . -}} 7 | {{ else if and (not .Site.Params.menu.section.auto) (not .Site.Params.menu.section.collapsibleSidebar) -}} 8 | {{ partial "sidebar/manual-default-menu.html" . -}} 9 | {{ end -}} -------------------------------------------------------------------------------- /layouts/partials/sidebar/docs-toc.html: -------------------------------------------------------------------------------- 1 | {{ if (ne .Params.toc false) -}} 2 |
--{{ .Get 0 }}{{ if gt (len .Params) 1 }}={ {{ .Get 1 }} }{{ range after 2 .Params}} / { {{.}} }{{end}}{{end}}
4 |-{{ .Get 0 }} / --{{ .Get 1 }}{{ if gt (len .Params) 2 }}={ {{ .Get 2 }} }{{ range after 3 .Params}} / { {{.}} }{{end}}{{end}}
4 |{{ .Get 0 }}={ {{ .Get 1 }} }{{ range after 2 .Params}} / { {{.}} }{{end}}
4 |TIMESTAMP
5 | number
6 | REQUIRED
7 |
8 | Timestamps can be absolute (UNIX epochal) timestamps, or they 10 | can be relative negativ numbers, indiciating "number of seconds 11 | before now". 12 | 13 |
You can read more about 14 | timestamp handling 15 | and how to use it here. 16 |
fields
19 | field simplification
20 | OPTIONAL
21 |
22 | Kismet can reduce the amount of information being processed and returned by an API by simplifying the 24 | fields to only return the data needed by the caller.
25 | 26 |You can read more about the 27 | field simplification API 28 | and how to use it here. 29 |
regex
32 | regular expression
33 | OPTIONAL
34 |
35 | When compiled with PCRE support, Kismet can apply 37 | regular expression filters.
38 |Regular expressions can be applied to multiple fields.
39 | 40 |You can read more about the 41 | field regex API 42 | and how to use it here. 43 |
{{ .Get "name" }}
47 |
48 | {{ with .Get "type" }}
49 | {{ . }}
50 | {{ end }}
51 |
52 | {{ with default true (.Get "required") }}
53 | {{ if or (eq . true) (eq . "true") }}
54 | REQUIRED
55 | {{ else }}
56 | OPTIONAL
57 | {{ end }}
58 | {{ end }}
59 |
60 | {{ .Inner | markdownify }}
62 |69 | wget -O - https://www.kismetwireless.net/repos/kismet-release.gpg.key --quiet | gpg --dearmor | sudo tee /usr/share/keyrings/kismet-archive-keyring.gpg >/dev/null 70 | echo 'deb [signed-by=/usr/share/keyrings/kismet-archive-keyring.gpg] https://www.kismetwireless.net/repos/apt/release/{{ .key | lower }} {{ .key | lower }} main' | sudo tee /etc/apt/sources.list.d/kismet.list >/dev/null 71 | sudo apt update 72 | sudo apt install kismet 73 |74 |
77 | wget -O - https://www.kismetwireless.net/repos/kismet-release.gpg.key --quiet | gpg --dearmor | sudo tee /usr/share/keyrings/kismet-archive-keyring.gpg >/dev/null 78 | echo 'deb [signed-by=/usr/share/keyrings/kismet-archive-keyring.gpg] https://www.kismetwireless.net/repos/apt/git/{{ .key | lower }} {{ .key | lower }} main' | sudo tee /etc/apt/sources.list.d/kismet.list >/dev/null 79 | sudo apt update 80 | sudo apt install kismet 81 |82 |
The latest stable Kismet release is {{ .version }}
6 | 7 | {{ $version := .version }} 8 | 9 | {{ with .changelog }} 10 | 16 | {{ end }} 17 | 18 |Download the kismet-{{ .version }} source tarball here, or check out the 19 | tagged release from the Git repository
20 | 21 |If you’re interested in the absolute latest development Kismet code, check out the git code, below.
22 | 23 | {{ end }} 24 | -------------------------------------------------------------------------------- /layouts/shortcodes/kismet_repo_list.html: -------------------------------------------------------------------------------- 1 | {{ range $.Site.Data.kismet.repos }} 2 | {{ partial "kismet_repo.html" . }} 3 | {{ end }} 4 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | publish = "public" 3 | functions = "functions" 4 | 5 | [build.environment] 6 | NODE_VERSION = "16.16.0" 7 | NPM_VERSION = "8.11.0" 8 | 9 | [context.production] 10 | command = "npm run build" 11 | 12 | [context.deploy-preview] 13 | command = "npm run build -- -b $DEPLOY_PRIME_URL" 14 | 15 | [context.branch-deploy] 16 | command = "npm run build -- -b $DEPLOY_PRIME_URL" 17 | 18 | [context.next] 19 | command = "npm run build" 20 | 21 | [context.next.environment] 22 | HUGO_ENV = "next" 23 | 24 | [[plugins]] 25 | package = "netlify-plugin-submit-sitemap" 26 | 27 | [plugins.inputs] 28 | baseUrl = "https://doks-child-theme.netlify.app/" 29 | sitemapPath = "/sitemap.xml" 30 | ignorePeriod = 0 31 | providers = [ 32 | "google", 33 | "yandex" 34 | ] 35 | 36 | [dev] 37 | framework = "#custom" 38 | command = "npm run start" 39 | targetPort = 1313 40 | port = 8888 41 | publish = "public" 42 | autoLaunch = false 43 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "doks-child-theme", 3 | "description": "Doks child theme", 4 | "version": "0.5.0", 5 | "engines": { 6 | "node": ">=16.16.0" 7 | }, 8 | "browserslist": [ 9 | "defaults" 10 | ], 11 | "repository": "https://github.com/h-enk/doks", 12 | "license": "MIT", 13 | "publishConfig": { 14 | "access": "public" 15 | }, 16 | "scripts": { 17 | "init": "shx rm -rf .git && git init -b main", 18 | "create": "exec-bin node_modules/.bin/hugo/hugo new", 19 | "prestart": "npm run clean", 20 | "start": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 --disableFastRender", 21 | "prebuild": "npm run clean", 22 | "build": "exec-bin node_modules/.bin/hugo/hugo --gc --minify", 23 | "build:preview": "npm run build -D -F", 24 | "clean": "shx rm -rf public resources", 25 | "clean:install": "shx rm -rf package-lock.json node_modules ", 26 | "lint": "npm run -s lint:scripts && npm run -s lint:styles && npm run -s lint:markdown", 27 | "lint:scripts": "eslint assets/js config functions", 28 | "lint:styles": "stylelint \"assets/scss/**/*.{css,sass,scss,sss,less}\"", 29 | "lint:markdown": "markdownlint-cli2 \"*.md\" \"content/**/*.md\"", 30 | "lint:markdown-fix": "markdownlint-cli2-fix \"*.md\" \"content/**/*.md\"", 31 | "server": "exec-bin node_modules/.bin/hugo/hugo server", 32 | "test": "npm run -s lint", 33 | "env": "env", 34 | "precheck": "npm version", 35 | "check": "exec-bin node_modules/.bin/hugo/hugo version", 36 | "copy:katex-fonts": "shx cp ./node_modules/katex/dist/fonts/* ./static/fonts/", 37 | "postinstall": "hugo-installer --version otherDependencies.hugo --extended --destination node_modules/.bin/hugo", 38 | "version": "auto-changelog -p && git add CHANGELOG.md" 39 | }, 40 | "devDependencies": { 41 | "@babel/cli": "^7.18", 42 | "@babel/core": "^7.18", 43 | "@babel/preset-env": "^7.18", 44 | "@fullhuman/postcss-purgecss": "^4.1", 45 | "@hyas/doks": "^0.5", 46 | "@hyas/images": "^0.2.1", 47 | "auto-changelog": "^2.4.0", 48 | "autoprefixer": "^10.4", 49 | "bootstrap": "^5.1", 50 | "clipboard": "^2.0", 51 | "eslint": "^8.19", 52 | "exec-bin": "^1.0.0", 53 | "flexsearch": "^0.7.21", 54 | "highlight.js": "^11.5", 55 | "hugo-installer": "^3.1", 56 | "instant.page": "^5.1", 57 | "katex": "^0.16", 58 | "lazysizes": "^5.3", 59 | "markdownlint-cli2": "^0.4.0", 60 | "netlify-plugin-submit-sitemap": "^0.4.0", 61 | "postcss": "^8.4", 62 | "postcss-cli": "^10.0", 63 | "purgecss-whitelister": "^2.4", 64 | "shx": "^0.3", 65 | "stylelint": "^14.9", 66 | "stylelint-config-standard-scss": "^4.0" 67 | }, 68 | "otherDependencies": { 69 | "hugo": "0.101.0" 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /scripts/publish.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Rebuilding site..." 4 | npm run build && rsync -avp --delete -e ssh public/ kismetwireless.net:www/ 5 | -------------------------------------------------------------------------------- /static/styles.css: -------------------------------------------------------------------------------- 1 | body{background-color:#FFF}.transition--300{transition:all 300ms ease-in-out}.toc{height:100%;width:280px;transform:translateX(0)}.content{position:relative}.content h1:first-child,.content h2:first-child{padding-top:0;margin-top:0}.title{font-size:3em}.content{margin-bottom:95vh}.content ul,.content ol{list-style:inherit}.content a{color:#0977c3;text-decoration:none;border-bottom:1px solid #EEE;transition:all 300ms ease}.content a.no-decoration{border-bottom:0}.content a:hover{border-bottom:1px solid #0977c3}.content a:hover.no-decoration{border-bottom:0}a.toc-link{text-decoration:none}.try-it-container{transform:translateY(84%)}.try-it-container.is-open{transform:translateY(0%)}.page-content{display:block !important}.hljs{display:block;background:white;padding:0.5em;color:#333333;overflow-x:auto}.hljs-comment,.hljs-meta{color:#969896}.hljs-string,.hljs-variable,.hljs-template-variable,.hljs-strong,.hljs-emphasis,.hljs-quote{color:#df5000}.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#a71d5d}.hljs-literal,.hljs-symbol,.hljs-bullet,.hljs-attribute{color:#0086b3}.hljs-section,.hljs-name{color:#63a35c}.hljs-tag{color:#333333}.hljs-title,.hljs-attr,.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo{color:#795da3}.hljs-addition{color:#55a532;background-color:#eaffea}.hljs-deletion{color:#bd2c00;background-color:#ffecec}.hljs-link{text-decoration:underline}.toc-icon{position:fixed;top:0;right:0}#toc:checked ~ .toc{box-shadow:0 0 5px #c8c8c8;transform:translateX(0)}.toc{background-color:rgba(255,255,255,0.9);transform:translateX(-100%)}.toc.toc-right{transform:translateX(100%);right:0}@media (min-width: 52em){.toc{transform:translateX(0)}.toc.toc-right{transform:translateX(0);right:calc((100% - 48rem - 4rem) / 2)}.toc-icon{display:none}.try-it-container{display:block}.content{margin-left:280px}.toc-right ~ .content{margin-left:0;margin-right:280px}}*{box-sizing:border-box}body{font-size:1.2rem;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}h1,h2,h3,h4,h5,h6{padding-top:0.5em}h1:focus,h2:focus,h3:focus,h4:focus,h5:focus,h6:focus{outline:0}p{margin-top:0.25rem}pre{display:block;background:#f7f7f7;border-radius:2px;border:1px solid #e0e0e0;padding:2px;line-height:1.2;margin-bottom:10px;overflow:auto;white-space:pre-wrap}code{display:inline;font-size:.8em;max-width:100%} 2 | -------------------------------------------------------------------------------- /static/tocbot.css: -------------------------------------------------------------------------------- 1 | .toc{overflow-y:auto}.toc>.toc-list{overflow:hidden;position:relative}.toc>.toc-list li{list-style:none}.toc-list{margin:0;padding-left:10px}a.toc-link{color:currentColor;height:100%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all 300ms ease-in-out}.is-collapsed{max-height:0}.is-position-fixed{position:fixed !important;top:0}.is-active-link{font-weight:700}.toc-link::before{background-color:#EEE;content:' ';display:inline-block;height:inherit;left:0;margin-top:-1px;position:absolute;width:2px}.is-active-link::before{background-color:#54BC4B} 2 | -------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | name = "Doks child theme" 2 | license = "MIT" 3 | licenselink = "https://github.com/h-enk/doks/blob/master/LICENSE" 4 | description = "Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default." 5 | 6 | homepage = "https://github.com/h-enk/doks-child-theme" 7 | demosite = "https://doks-child-theme.netlify.app" 8 | 9 | tags = ["landing page", "documentation", "blog", "minimal", "modern", "customizable", "search", "dark mode", "bootstrap"] 10 | features = ["security aware", "fast by default", "seo-ready", "development tools", "bootstrap framework", "netlify-ready", "full text search", "page layouts", "dark mode"] 11 | 12 | [author] 13 | name = "Henk Verlinde" 14 | homepage = "https://henkverlinde.com" 15 | --------------------------------------------------------------------------------