baagas0 commited on
Commit
b62a170
1 Parent(s): 80aa093
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .dockerignore +45 -0
  2. .eslintrc.js +36 -0
  3. .github/FUNDING.yml +14 -0
  4. .github/ISSUE_TEMPLATE/bug_report.md +61 -0
  5. .github/ISSUE_TEMPLATE/feature_request.md +24 -0
  6. .github/clear-gh-runs.sh +18 -0
  7. .github/gh-team-labels.yml +15 -0
  8. .github/workflows/build.yaml +76 -0
  9. .github/workflows/manual-push.yaml +84 -0
  10. .github/workflows/pages.yml +61 -0
  11. .gitignore +44 -0
  12. .nvmrc +1 -0
  13. .pre-commit-config.yaml +41 -0
  14. .prettierrc +13 -0
  15. .yarnrc +1 -0
  16. .yarnrc.yml +3 -0
  17. CHANGELOG.md +4 -0
  18. CNAME +1 -0
  19. Dockerfile +71 -0
  20. LICENSE +201 -0
  21. Makefile +43 -0
  22. docker-compose.yaml +64 -0
  23. docs/site/.editorconfig +11 -0
  24. docs/site/.eslintignore +4 -0
  25. docs/site/.eslintrc.json +31 -0
  26. docs/site/.github/FUNDING.yml +12 -0
  27. docs/site/.github/ISSUE_TEMPLATE/bug-report---.md +25 -0
  28. docs/site/.github/ISSUE_TEMPLATE/config.yml +4 -0
  29. docs/site/.github/ISSUE_TEMPLATE/feature-request---.md +17 -0
  30. docs/site/.github/dependabot.yml +11 -0
  31. docs/site/.github/workflows/codeql-analysis.yml +62 -0
  32. docs/site/.github/workflows/node.js-ci.yml +34 -0
  33. docs/site/.github/workflows/stale.yml +19 -0
  34. docs/site/.gitignore +5 -0
  35. docs/site/.markdownlint-cli2.jsonc +11 -0
  36. docs/site/.nvmrc +1 -0
  37. docs/site/.stylelintignore +3 -0
  38. docs/site/.stylelintrc.json +48 -0
  39. docs/site/CHANGELOG.md +112 -0
  40. docs/site/CODE_OF_CONDUCT.md +76 -0
  41. docs/site/LICENSE +22 -0
  42. docs/site/README.md +156 -0
  43. docs/site/SECURITY.md +7 -0
  44. docs/site/assets/images/default-image.png +0 -0
  45. docs/site/assets/js/app.js +1 -0
  46. docs/site/assets/scss/app.scss +38 -0
  47. docs/site/assets/scss/common/_custom.scss +1 -0
  48. docs/site/babel.config.js +17 -0
  49. docs/site/config/_default/config.toml +83 -0
  50. docs/site/config/_default/languages.toml +28 -0
.dockerignore ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Dockerfile
2
+ .*sessions
3
+ files
4
+ venv
5
+ .wwebjs_auth
6
+ docs
7
+ examples
8
+ .github
9
+ .git
10
+
11
+ # compiled output
12
+ /dist
13
+ /node_modules
14
+ .yarn
15
+
16
+ # Logs
17
+ logs
18
+ *.log
19
+ npm-debug.log*
20
+ yarn-debug.log*
21
+ yarn-error.log*
22
+ lerna-debug.log*
23
+
24
+ # OS
25
+ .DS_Store
26
+
27
+ # Tests
28
+ /coverage
29
+ /.nyc_output
30
+
31
+ # IDEs and editors
32
+ /.idea
33
+ .project
34
+ .classpath
35
+ .c9/
36
+ *.launch
37
+ .settings/
38
+ *.sublime-workspace
39
+
40
+ # IDE - VSCode
41
+ .vscode/*
42
+ !.vscode/settings.json
43
+ !.vscode/tasks.json
44
+ !.vscode/launch.json
45
+ !.vscode/extensions.json
.eslintrc.js ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ module.exports = {
2
+ parser: '@typescript-eslint/parser',
3
+ parserOptions: {
4
+ project: 'tsconfig.json',
5
+ sourceType: 'module',
6
+ },
7
+ plugins: ['@typescript-eslint/eslint-plugin', 'simple-import-sort'],
8
+ extends: [
9
+ 'plugin:@typescript-eslint/eslint-recommended',
10
+ 'plugin:@typescript-eslint/recommended',
11
+ 'prettier',
12
+ 'prettier/@typescript-eslint',
13
+ ],
14
+ root: true,
15
+ env: {
16
+ node: true,
17
+ jest: true,
18
+ },
19
+ rules: {
20
+ 'simple-import-sort/imports': 'error',
21
+ 'simple-import-sort/exports': 'error',
22
+ '@typescript-eslint/interface-name-prefix': 'off',
23
+ '@typescript-eslint/explicit-function-return-type': 'off',
24
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
25
+ '@typescript-eslint/no-inferrable-types': 'off',
26
+ '@typescript-eslint/no-explicit-any': 'off',
27
+ '@typescript-eslint/ban-ts-ignore': 'off',
28
+ '@typescript-eslint/ban-ts-comment': 'off',
29
+ '@typescript-eslint/no-unused-vars': 'off',
30
+ 'lines-between-class-members': [
31
+ 'error',
32
+ 'always',
33
+ { exceptAfterSingleLine: true },
34
+ ],
35
+ },
36
+ };
.github/FUNDING.yml ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # These are supported funding model platforms
2
+
3
+ github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4
+ patreon: wa_http_api
5
+ open_collective: # doks Replace with a single Open Collective username
6
+ ko_fi: # Replace with a single Ko-fi username
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ otechie: # Replace with a single Otechie username
12
+ custom:
13
+ - https://boosty.to/wa-http-api
14
+ - https://portal.devlike.pro/
.github/ISSUE_TEMPLATE/bug_report.md ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: '[BUG][WEBJS] - '
5
+ labels: bug
6
+ assignees: ''
7
+ ---
8
+
9
+ **Describe the bug**
10
+
11
+ > A clear and concise description of what the bug is. Feel free to remove
12
+ > sections that you don't feel to make the text shorter!
13
+
14
+ **Version**
15
+
16
+ ```json
17
+ {
18
+ "version": "2023.11.1",
19
+ "engine": "NOWEB",
20
+ "tier": "PLUS",
21
+ "browser": "/usr/bin/google-chrome-stable"
22
+ }
23
+ ```
24
+
25
+ > You can get the WAHA version by calling `GET /api/version` Try to update to
26
+ > [the latest version](https://github.com/devlikeapro/whatsapp-http-api/releases)
27
+ > before creating an issue!
28
+
29
+ **To Reproduce** Steps to reproduce the behavior:
30
+
31
+ 1. Go to '...'
32
+ 2. Click on '....'
33
+ 3. Scroll down to '....'
34
+ 4. See error
35
+
36
+ **Expected behavior**
37
+
38
+ > A clear and concise description of what you expected to happen.
39
+
40
+ **Engine** I'm using **WEBJS** engine.
41
+
42
+ > If you set `WHATSAPP_DEFAULT_ENGINE` explicitly to
43
+ > [one of the engine](https://waha.devlike.pro/docs/how-to/engines/) - please
44
+ > provide that information here and in the issue title.
45
+
46
+ **Requests - Responses**
47
+
48
+ > Please attach all sent requests, responses that you sent.
49
+
50
+ **Docker Logs**
51
+
52
+ > Collect and attach related docker logs if you have any
53
+ > https://waha.devlike.pro/docs/how-to/deploy/#viewing-the-logs
54
+
55
+ **Screenshots**
56
+
57
+ > If applicable, add screenshots to help explain your problem.
58
+
59
+ **Additional context**
60
+
61
+ > Add any other context about the problem here.
.github/ISSUE_TEMPLATE/feature_request.md ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: '[Feature Request]'
5
+ labels: ''
6
+ assignees: ''
7
+ ---
8
+
9
+ **Is your feature request related to a problem? Please describe.** I'm always
10
+ frustrated when [...]
11
+
12
+ > A clear and concise description of what the problem is. Ex.
13
+
14
+ **Describe the solution you'd like**
15
+
16
+ > A clear and concise description of what you want to happen.
17
+
18
+ **Describe alternatives you've considered**
19
+
20
+ > A clear and concise description of any alternative solutions or features
21
+ > you've considered.
22
+
23
+ **Additional context** Add any other context or screenshots about the feature
24
+ request here.
.github/clear-gh-runs.sh ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Idea from
2
+ # https://stackoverflow.com/a/65539398/6753144
3
+ #
4
+
5
+ OWNER=devlikeapro
6
+ REPO=whatsapp-http-api-plus
7
+
8
+ # list workflows
9
+ gh api -X GET /repos/$OWNER/$REPO/actions/workflows | jq '.workflows[] | .name,.id'
10
+
11
+ # copy the ID of the workflow you want to clear and set it
12
+ WORKFLOW_ID=40218610
13
+
14
+ # list runs
15
+ gh api -X GET /repos/$OWNER/$REPO/actions/workflows/$WORKFLOW_ID/runs --paginate | jq '.workflow_runs[] | .id'
16
+
17
+ # delete runs
18
+ gh api -X GET /repos/$OWNER/$REPO/actions/workflows/$WORKFLOW_ID/runs --paginate | jq '.workflow_runs[] | .id' | xargs -I{} gh api -X DELETE /repos/$OWNER/$REPO/actions/runs/{} --silent
.github/gh-team-labels.yml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ignore:
2
+ teams:
3
+ - no-labels
4
+ users:
5
+ - allburov
6
+ teamLabels:
7
+ - team: waha-patrons-pro
8
+ label: patron:PRO
9
+ comment: '[![patron:PRO](https://img.shields.io/badge/patron-PRO-188a42)](https://waha.devlike.pro/docs/how-to/plus-version/#tiers)'
10
+ - team: waha-patrons-advanced
11
+ label: patron:ADVANCED
12
+ comment: '[![patron:ADVANCED](https://img.shields.io/badge/patron-ADVANCED-4cd07d)](https://waha.devlike.pro/docs/how-to/plus-version/#tiers)'
13
+ - team: waha-patrons-plus
14
+ label: patron:PLUS
15
+ comment: '[![patron:PLUS](https://img.shields.io/badge/patron-PLUS-a0e6ba)](https://waha.devlike.pro/docs/how-to/plus-version/#tiers)'
.github/workflows/build.yaml ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '*'
7
+
8
+ jobs:
9
+ docker-build:
10
+ runs-on: ${{ matrix.runner }}
11
+ name: ${{ matrix.platform }} - ${{ matrix.browser }} - ${{ matrix.tag }}
12
+ strategy:
13
+ matrix:
14
+ include:
15
+ # Chromium
16
+ - runner: 'buildjet-4vcpu-ubuntu-2204'
17
+ tag: 'latest'
18
+ platform: 'amd64'
19
+ browser: 'chromium'
20
+ - runner: 'buildjet-4vcpu-ubuntu-2204-arm'
21
+ tag: 'arm'
22
+ platform: 'linux/arm64'
23
+ browser: 'chromium'
24
+ # Chrome
25
+ - runner: 'buildjet-4vcpu-ubuntu-2204'
26
+ tag: 'chrome'
27
+ platform: 'amd64'
28
+ browser: 'chrome'
29
+ # Chrome is not supported on arm64
30
+ # - runner: "buildjet-4vcpu-ubuntu-2204-arm"
31
+ # tag: "chrome-arm"
32
+ # platform: "linux/arm64"
33
+ # browser: "chrome"
34
+ # No browser
35
+ - runner: 'buildjet-4vcpu-ubuntu-2204'
36
+ tag: 'noweb'
37
+ platform: 'amd64'
38
+ browser: 'none'
39
+ - runner: 'buildjet-4vcpu-ubuntu-2204-arm'
40
+ tag: 'noweb-arm'
41
+ platform: 'linux/arm64'
42
+ browser: 'none'
43
+
44
+ steps:
45
+ - name: Checkout
46
+ uses: actions/checkout@v3
47
+ - name: Set up Docker Buildx
48
+ uses: docker/setup-buildx-action@v2
49
+
50
+ - name: Docker meta
51
+ id: meta
52
+ uses: docker/metadata-action@v4
53
+ with:
54
+ images: ${{ vars.DOCKER_IMAGE }}
55
+ flavor: latest=false
56
+ tags: |
57
+ type=raw,value=${{ matrix.tag }}
58
+
59
+ - name: Login to image repository
60
+ if: github.ref_type == 'tag'
61
+ uses: docker/login-action@v2
62
+ with:
63
+ username: ${{ secrets.DOCKER_USER }}
64
+ password: ${{ secrets.DOCKER_TOKEN }}
65
+
66
+ - name: Build and push
67
+ uses: docker/build-push-action@v4
68
+ with:
69
+ context: .
70
+ file: Dockerfile
71
+ platforms: ${{ matrix.platform }}
72
+ build-args: |
73
+ USE_BROWSER=${{ matrix.browser }}
74
+ push: ${{ github.ref_type == 'tag' }}
75
+ tags: ${{ steps.meta.outputs.tags }}
76
+ labels: ${{ steps.meta.outputs.labels }}
.github/workflows/manual-push.yaml ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Manual push
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ tag:
7
+ description: 'Tag to push'
8
+ required: true
9
+ default: 'dev'
10
+ push:
11
+ description: 'Push to registry'
12
+ required: true
13
+ type: boolean
14
+ default: true
15
+
16
+ jobs:
17
+ docker-build:
18
+ runs-on: ${{ matrix.runner }}
19
+ name: ${{ matrix.platform }} - ${{ matrix.browser }} - ${{ matrix.tag }}
20
+ strategy:
21
+ matrix:
22
+ include:
23
+ # Chromium
24
+ - runner: 'buildjet-4vcpu-ubuntu-2204'
25
+ tag: 'latest'
26
+ platform: 'amd64'
27
+ browser: 'chromium'
28
+ - runner: 'buildjet-4vcpu-ubuntu-2204-arm'
29
+ tag: 'arm'
30
+ platform: 'linux/arm64'
31
+ browser: 'chromium'
32
+ # Chrome
33
+ - runner: 'buildjet-4vcpu-ubuntu-2204'
34
+ tag: 'chrome'
35
+ platform: 'amd64'
36
+ browser: 'chrome'
37
+ # Chrome is not supported on arm64
38
+ # - runner: "buildjet-4vcpu-ubuntu-2204-arm"
39
+ # tag: "chrome-arm"
40
+ # platform: "linux/arm64"
41
+ # browser: "chrome"
42
+ # No browser
43
+ - runner: 'buildjet-4vcpu-ubuntu-2204'
44
+ tag: 'noweb'
45
+ platform: 'amd64'
46
+ browser: 'none'
47
+ - runner: 'buildjet-4vcpu-ubuntu-2204-arm'
48
+ tag: 'noweb-arm'
49
+ platform: 'linux/arm64'
50
+ browser: 'none'
51
+
52
+ steps:
53
+ - name: Checkout
54
+ uses: actions/checkout@v3
55
+ - name: Set up Docker Buildx
56
+ uses: docker/setup-buildx-action@v2
57
+
58
+ - name: Docker meta
59
+ id: meta
60
+ uses: docker/metadata-action@v4
61
+ with:
62
+ images: ${{ vars.DOCKER_IMAGE }}
63
+ flavor: latest=false
64
+ tags: |
65
+ type=raw,value=${{ inputs.tag }}-${{ matrix.tag }}
66
+
67
+ - name: Login to image repository
68
+ if: github.ref_type == 'tag'
69
+ uses: docker/login-action@v2
70
+ with:
71
+ username: ${{ secrets.DOCKER_USER }}
72
+ password: ${{ secrets.DOCKER_TOKEN }}
73
+
74
+ - name: Build and push
75
+ uses: docker/build-push-action@v4
76
+ with:
77
+ context: .
78
+ file: Dockerfile
79
+ platforms: ${{ matrix.platform }}
80
+ build-args: |
81
+ USE_BROWSER=${{ matrix.browser }}
82
+ push: ${{ inputs.push }}
83
+ tags: ${{ steps.meta.outputs.tags }}
84
+ labels: ${{ steps.meta.outputs.labels }}
.github/workflows/pages.yml ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Deploy Pages
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - core
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+ defaults:
12
+ run:
13
+ working-directory: docs/site
14
+
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v2
18
+ with:
19
+ persist-credentials: false
20
+
21
+ - name: Install dependencies
22
+ run: |
23
+ npm install
24
+
25
+ - name: Build
26
+ run: |
27
+ npm run build
28
+
29
+ - name: Upload folder
30
+ uses: actions/upload-artifact@v2
31
+ with:
32
+ path: docs/site/public
33
+ name: public
34
+ retention-days: 5
35
+
36
+ deploy-github-pages:
37
+ needs: build
38
+ runs-on: ubuntu-latest
39
+ steps:
40
+ - name: Checkout
41
+ uses: actions/checkout@v2
42
+ with:
43
+ persist-credentials: false
44
+
45
+ - name: Download folder
46
+ uses: actions/download-artifact@v2
47
+ with:
48
+ name: public
49
+ path: public
50
+
51
+ - name: File list
52
+ run: |
53
+ ls -la && ls -la public
54
+
55
+ - name: Deploy
56
+ uses: JamesIves/github-pages-deploy-action@4.0.0
57
+ with:
58
+ token: ${{ secrets.GITHUB_TOKEN }}
59
+ BRANCH: gh-pages
60
+ FOLDER: public
61
+ CLEAN: true
.gitignore ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .yarn
2
+ example.ts
3
+ .*sessions
4
+ tokens
5
+ files
6
+ venv
7
+ .wwebjs_auth
8
+ test.js
9
+ .wwebjs_cache
10
+
11
+ # compiled output
12
+ /dist
13
+ /node_modules
14
+
15
+ # Logs
16
+ logs
17
+ *.log
18
+ npm-debug.log*
19
+ yarn-debug.log*
20
+ yarn-error.log*
21
+ lerna-debug.log*
22
+
23
+ # OS
24
+ .DS_Store
25
+
26
+ # Tests
27
+ /coverage
28
+ /.nyc_output
29
+
30
+ # IDEs and editors
31
+ /.idea
32
+ .project
33
+ .classpath
34
+ .c9/
35
+ *.launch
36
+ .settings/
37
+ *.sublime-workspace
38
+
39
+ # IDE - VSCode
40
+ .vscode/*
41
+ !.vscode/settings.json
42
+ !.vscode/tasks.json
43
+ !.vscode/launch.json
44
+ !.vscode/extensions.json
.nvmrc ADDED
@@ -0,0 +1 @@
 
 
1
+ v20.5.0
.pre-commit-config.yaml ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ repos:
2
+ - repo: local
3
+ hooks:
4
+ - id: lint
5
+ name: lint
6
+ language: system
7
+ entry: bash -c '$HOME/.nvm/nvm-exec npm run lint'
8
+ pass_filenames: false
9
+ files: |
10
+ (?x)^(
11
+ src/.*|
12
+ )$
13
+
14
+ - repo: https://github.com/pre-commit/mirrors-prettier
15
+ rev: 'v3.1.0'
16
+ hooks:
17
+ - id: prettier
18
+ exclude: |
19
+ (?x)^(
20
+ docs/.*|
21
+ README.md|
22
+ )$
23
+ - repo: https://github.com/Lucas-C/pre-commit-hooks-nodejs
24
+ rev: v1.1.2
25
+ hooks:
26
+ - id: markdown-toc
27
+ name: README.md
28
+ files: ^README.md$
29
+ - repo: local
30
+ hooks:
31
+ - id: no-plus-in-core
32
+ name: No "plus" in core
33
+ language: pygrep
34
+ entry: 'plus'
35
+ files: |
36
+ (?x)^(
37
+ src/api/.*|
38
+ src/core/.*|
39
+ src/structures/.*|
40
+ src/config.service.ts|
41
+ )$
.prettierrc ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "singleQuote": true,
3
+ "trailingComma": "all",
4
+ "endOfLine": "auto",
5
+ "arrowParens": "always",
6
+ "bracketSpacing": true,
7
+ "useTabs": false,
8
+ "tabWidth": 2,
9
+ "semi": true,
10
+ "quoteProps": "as-needed",
11
+ "proseWrap": "always",
12
+ "printWidth": 80
13
+ }
.yarnrc ADDED
@@ -0,0 +1 @@
 
 
1
+ network-timeout 60000
.yarnrc.yml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ nodeLinker: node-modules
2
+
3
+ yarnPath: .yarn/releases/yarn-3.6.3.cjs
CHANGELOG.md ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ # Changelog
2
+
3
+ You can find changelog on
4
+ [the changelog page](https://waha.devlike.pro/docs/help/changelog/)
CNAME ADDED
@@ -0,0 +1 @@
 
 
1
+ waha.devlike.pro
Dockerfile ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #
2
+ # Build
3
+ #
4
+ FROM node:20-bullseye as build
5
+ ENV PUPPETEER_SKIP_DOWNLOAD=True
6
+
7
+ # npm packages
8
+ RUN apt-get update \
9
+ && apt-get install -y openssh-client
10
+ RUN apt install openssh-client
11
+ RUN mkdir -p -m 0700 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts
12
+
13
+ WORKDIR /src
14
+ COPY package.json .
15
+ COPY yarn.lock .
16
+ RUN yarn set version 3.6.3
17
+ RUN --mount=type=ssh yarn install
18
+
19
+ # App
20
+ WORKDIR /src
21
+ ADD . /src
22
+ RUN --mount=type=ssh yarn install
23
+ RUN yarn build && find ./dist -name "*.d.ts" -delete
24
+
25
+ #
26
+ # Final
27
+ #
28
+ FROM node:20-bullseye as release
29
+ ENV PUPPETEER_SKIP_DOWNLOAD=True
30
+ ARG USE_BROWSER=chromium
31
+
32
+ RUN echo "USE_BROWSER=$USE_BROWSER"
33
+
34
+ # Install fonts if using either chromium or chrome
35
+ RUN if [ "$USE_BROWSER" = "chromium" ] || [ "$USE_BROWSER" = "chrome" ]; then \
36
+ apt-get update \
37
+ && apt-get install -y fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf \
38
+ --no-install-recommends \
39
+ && rm -rf /var/lib/apt/lists/*; \
40
+ fi
41
+
42
+ # Install Chromium
43
+ RUN if [ "$USE_BROWSER" = "chromium" ]; then \
44
+ apt-get update \
45
+ && apt-get update \
46
+ && apt-get install -y chromium \
47
+ --no-install-recommends \
48
+ && rm -rf /var/lib/apt/lists/*; \
49
+ fi
50
+
51
+ # Install Chrome
52
+ RUN if [ "$USE_BROWSER" = "chrome" ]; then \
53
+ apt-get update \
54
+ && apt-get install -y wget gnupg \
55
+ && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
56
+ && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
57
+ && apt-get update \
58
+ && apt-get install -y google-chrome-stable \
59
+ --no-install-recommends \
60
+ && rm -rf /var/lib/apt/lists/*; \
61
+ fi
62
+
63
+ # Attach sources, install packages
64
+ WORKDIR /app
65
+ COPY package.json ./
66
+ COPY --from=build /src/node_modules ./node_modules
67
+ COPY --from=build /src/dist ./dist
68
+
69
+ # Run command, etc
70
+ EXPOSE 7860
71
+ CMD yarn start:prod
LICENSE ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
Makefile ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ build:
2
+ docker build . -t devlikeapro/whatsapp-http-api
3
+
4
+ build-chrome:
5
+ docker build . -t devlikeapro/whatsapp-http-api:chrome --build-arg USE_BROWSER=chrome
6
+
7
+ build-noweb:
8
+ docker build . -t devlikeapro/whatsapp-http-api:noweb --build-arg USE_BROWSER=none
9
+
10
+ build-all: build build-chrome build-noweb
11
+
12
+ build-plus:
13
+ docker build . -t devlikeapro/whatsapp-http-api-plus
14
+
15
+ build-ssh:
16
+ # check IMAGE provided
17
+ @[ "${IMAGE}" ] || ( echo "Add APP: make build-ssh image=devlikeapro/whatsapp-http-api"; exit 1 );
18
+ eval $(ssh-agent) && \
19
+ ssh-add ~/.ssh/id_rsa && \
20
+ docker buildx build --ssh default=${SSH_AUTH_SOCK} . -t ${IMAGE} --build-arg USE_BROWSER=none
21
+
22
+ stop:
23
+ docker stop whatsapp-http-api
24
+
25
+ clean: stop
26
+ sudo rm -rf .sessions
27
+
28
+ push:
29
+ docker push devlikeapro/whatsapp-http-api
30
+
31
+ for-swagger:
32
+ WHATSAPP_SWAGGER_CONFIG_ADVANCED=true npm run start
33
+
34
+ update-swagger:
35
+ wget http://localhost:3000/-json -O ./docs/site/static/swagger/openapi.json
36
+
37
+ update-dependencies:
38
+ . ${NVM_DIR}/nvm.sh && nvm exec yarn up whatsapp-web.js@https://github.com/devlikeapro/whatsapp-web.js#main-fork
39
+ . ${NVM_DIR}/nvm.sh && nvm exec yarn up @adiwajshing/baileys@github:WhiskeySockets/Baileys
40
+ . ${NVM_DIR}/nvm.sh && nvm exec yarn up venom-bot
41
+
42
+ start-proxy:
43
+ docker run --rm -d --name squid-container -e TZ=UTC -p 3128:3128 ubuntu/squid:5.2-22.04_beta
docker-compose.yaml ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '3'
2
+ services:
3
+ whatsapp-http-api:
4
+ image: devlikeapro/whatsapp-http-api
5
+ container_name: whatsapp-http-api
6
+ ports:
7
+ - '7860:7860/tcp'
8
+ environment:
9
+ # Environment variables from https://waha.devlike.pro/docs/how-to/config/
10
+ - WHATSAPP_HOOK_URL=https://httpbin.org/post
11
+ - WHATSAPP_HOOK_EVENTS=message
12
+ - WHATSAPP_DEFAULT_ENGINE=WEBJS
13
+ restart: always
14
+
15
+ whatsapp-http-api-plus:
16
+ image: devlikeapro/whatsapp-http-api-plus
17
+ container_name: whatsapp-http-api-plus
18
+ ports:
19
+ - '7860:7860/tcp'
20
+ volumes:
21
+ - './.sessions:/app/.sessions'
22
+ environment:
23
+ # Environment variables from https://waha.devlike.pro/docs/how-to/config/
24
+ - WHATSAPP_RESTART_ALL_SESSIONS=True
25
+ - WHATSAPP_HOOK_URL=https://httpbin.org/post
26
+ - WHATSAPP_HOOK_EVENTS=message
27
+ - WHATSAPP_DEFAULT_ENGINE=WEBJS
28
+ - WHATSAPP_API_KEY=321
29
+ - WHATSAPP_SWAGGER_USERNAME=admin
30
+ - WHATSAPP_SWAGGER_PASSWORD=123
31
+ - WHATSAPP_API_HOSTNAME=localhost
32
+ restart: always
33
+
34
+ whatsapp-http-api-plus--mongodb:
35
+ image: devlikeapro/whatsapp-http-api-plus
36
+ container_name: whatsapp-http-api-plus--mongodb
37
+ ports:
38
+ - '7860:7860/tcp'
39
+ volumes:
40
+ - './.sessions:/app/.sessions'
41
+ environment:
42
+ # Environment variables from https://waha.devlike.pro/docs/how-to/config/
43
+ - WHATSAPP_RESTART_ALL_SESSIONS=True
44
+ - WHATSAPP_HOOK_URL=https://httpbin.org/post
45
+ - WHATSAPP_HOOK_EVENTS=message
46
+ - WHATSAPP_DEFAULT_ENGINE=WEBJS
47
+ - WHATSAPP_API_KEY=321
48
+ - WHATSAPP_SWAGGER_USERNAME=admin
49
+ - WHATSAPP_SWAGGER_PASSWORD=123
50
+ - WHATSAPP_API_HOSTNAME=localhost
51
+ - WHATSAPP_SESSIONS_MONGO_URL=mongodb://mongodb:27017
52
+ restart: always
53
+
54
+ mongodb:
55
+ image: mongo
56
+ container_name: mongodb
57
+ ports:
58
+ - '27017:27017/tcp'
59
+ volumes:
60
+ - mongodb_data:/data/db
61
+ restart: always
62
+
63
+ volumes:
64
+ mongodb_data: {}
docs/site/.editorconfig ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # editorconfig.org
2
+
3
+ root = true
4
+
5
+ [*]
6
+ indent_style = space
7
+ indent_size = 2
8
+ end_of_line = lf
9
+ charset = utf-8
10
+ trim_trailing_whitespace = true
11
+ insert_final_newline = true
docs/site/.eslintignore ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ assets/js/index.js
2
+ assets/js/katex.js
3
+ assets/js/vendor
4
+ node_modules
docs/site/.eslintrc.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "env": {
3
+ "browser": true,
4
+ "commonjs": true,
5
+ "es6": true,
6
+ "node": true
7
+ },
8
+ "extends": "eslint:recommended",
9
+ "globals": {
10
+ "Atomics": "readonly",
11
+ "SharedArrayBuffer": "readonly"
12
+ },
13
+ "parserOptions": {
14
+ "ecmaVersion": 2018,
15
+ "sourceType": "module"
16
+ },
17
+ "rules": {
18
+ "no-console": 0,
19
+ "quotes": ["error", "single"],
20
+ "comma-dangle": [
21
+ "error",
22
+ {
23
+ "arrays": "always-multiline",
24
+ "objects": "always-multiline",
25
+ "imports": "always-multiline",
26
+ "exports": "always-multiline",
27
+ "functions": "ignore"
28
+ }
29
+ ]
30
+ }
31
+ }
docs/site/.github/FUNDING.yml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # These are supported funding model platforms
2
+
3
+ github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4
+ patreon: # Replace with a single Patreon username
5
+ open_collective: doks # Replace with a single Open Collective username
6
+ ko_fi: # Replace with a single Ko-fi username
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ otechie: # Replace with a single Otechie username
12
+ custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
docs/site/.github/ISSUE_TEMPLATE/bug-report---.md ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ name: "Bug report \U0001F41E"
3
+ about: Create a report to help us improve
4
+
5
+ ---
6
+
7
+ ## Description
8
+
9
+ Describe the issue that you're seeing.
10
+
11
+ ### Steps to reproduce
12
+
13
+ Clear steps describing how to reproduce the issue. Please please please link to a demo project if possible, this makes your issue _much_ easier to diagnose (seriously).
14
+
15
+ ### Expected result
16
+
17
+ What should happen?
18
+
19
+ ### Actual result
20
+
21
+ What happened.
22
+
23
+ ### Environment
24
+
25
+ Paste the information here as shown by `npm run check`
docs/site/.github/ISSUE_TEMPLATE/config.yml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ contact_links:
2
+ - name: Question 🙋
3
+ url: https://github.com/h-enk/doks/discussions/categories/q-a
4
+ about: Ask your question in Doks Discussions
docs/site/.github/ISSUE_TEMPLATE/feature-request---.md ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ name: "Feature request \U0001F680"
3
+ about: Suggest an idea for Doks
4
+
5
+ ---
6
+
7
+ ## Summary
8
+
9
+ Brief explanation of the feature.
10
+
11
+ ### Basic example
12
+
13
+ Include a basic example or links here.
14
+
15
+ ### Motivation
16
+
17
+ Why are we doing this? What use cases does it support? What is the expected outcome?
docs/site/.github/dependabot.yml ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "npm" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "daily"
docs/site/.github/workflows/codeql-analysis.yml ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ name: "CodeQL"
7
+
8
+ on:
9
+ push:
10
+ branches: [master]
11
+ pull_request:
12
+ # The branches below must be a subset of the branches above
13
+ branches: [master]
14
+ schedule:
15
+ - cron: '0 11 * * 5'
16
+
17
+ jobs:
18
+ analyze:
19
+ name: Analyze
20
+ runs-on: ubuntu-latest
21
+
22
+ strategy:
23
+ fail-fast: false
24
+ matrix:
25
+ # Override automatic language detection by changing the below list
26
+ # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
27
+ language: ['javascript']
28
+ # Learn more...
29
+ # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
30
+
31
+ steps:
32
+ - name: Checkout repository
33
+ uses: actions/checkout@v2
34
+
35
+ # Initializes the CodeQL tools for scanning.
36
+ - name: Initialize CodeQL
37
+ uses: github/codeql-action/init@v1
38
+ with:
39
+ languages: ${{ matrix.language }}
40
+ # If you wish to specify custom queries, you can do so here or in a config file.
41
+ # By default, queries listed here will override any specified in a config file.
42
+ # Prefix the list here with "+" to use these queries and those in the config file.
43
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
44
+
45
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
46
+ # If this step fails, then you should remove it and run the build manually (see below)
47
+ - name: Autobuild
48
+ uses: github/codeql-action/autobuild@v1
49
+
50
+ # ℹ️ Command-line programs to run using the OS shell.
51
+ # 📚 https://git.io/JvXDl
52
+
53
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
54
+ # and modify them (or add more) to build your code if your project
55
+ # uses a compiled language
56
+
57
+ #- run: |
58
+ # make bootstrap
59
+ # make release
60
+
61
+ - name: Perform CodeQL Analysis
62
+ uses: github/codeql-action/analyze@v1
docs/site/.github/workflows/node.js-ci.yml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Hyas CI
2
+
3
+ on:
4
+ push:
5
+ branches: master
6
+ pull_request:
7
+ branches: master
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ${{ matrix.os }}
12
+
13
+ strategy:
14
+ matrix:
15
+ os: [ubuntu-latest, windows-latest, macos-latest]
16
+ node: [16.x, 18.x]
17
+
18
+ steps:
19
+ - name: Check out Hyas project
20
+ uses: actions/checkout@v2
21
+
22
+ - name: Set up Node.js ${{ matrix.node }}
23
+ uses: actions/setup-node@v2
24
+ with:
25
+ node-version: ${{ matrix.node }}
26
+
27
+ - name: Install dependencies
28
+ run: npm ci
29
+
30
+ - name: Run Hyas test script
31
+ run: npm test
32
+
33
+ - name: Build production website
34
+ run: npm run build
docs/site/.github/workflows/stale.yml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: 'Close stale issues and PRs'
2
+ on:
3
+ schedule:
4
+ - cron: '0 0 * * *'
5
+
6
+ jobs:
7
+ stale:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/stale@v4
11
+ with:
12
+ stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
13
+ stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
14
+ close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.'
15
+ close-pr-message: 'This PR was closed because it has been stalled for 5 days with no activity.'
16
+ days-before-stale: 30
17
+ days-before-close: 5
18
+ days-before-pr-close: 5
19
+ exempt-issue-labels: 'keep'
docs/site/.gitignore ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ node_modules
2
+ public
3
+ resources
4
+ .netlify
5
+ .hugo_build.lock
docs/site/.markdownlint-cli2.jsonc ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "config": {
3
+ "default": true,
4
+ "MD013": false,
5
+ "MD024": false,
6
+ "MD026": false,
7
+ "MD033": false,
8
+ "MD034": false
9
+ },
10
+ "ignores": ["node_modules", "CHANGELOG.md", "README.md"]
11
+ }
docs/site/.nvmrc ADDED
@@ -0,0 +1 @@
 
 
1
+ v18.12.0
docs/site/.stylelintignore ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ assets/scss/components/_syntax.scss
2
+ assets/scss/vendor
3
+ node_modules
docs/site/.stylelintrc.json ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "extends": "stylelint-config-standard-scss",
3
+ "rules": {
4
+ "no-empty-source": null,
5
+ "string-quotes": "double",
6
+ "scss/comment-no-empty": null,
7
+ "max-line-length": null,
8
+ "scss/at-extend-no-missing-placeholder": null,
9
+ "scss/dollar-variable-colon-space-after": null,
10
+ "scss/dollar-variable-empty-line-before": null,
11
+ "color-function-notation": null,
12
+ "alpha-value-notation": null,
13
+ "selector-id-pattern": null,
14
+ "selector-class-pattern": null,
15
+ "scss/no-global-function-names": null,
16
+ "number-max-precision": null,
17
+ "hue-degree-notation": null,
18
+ "value-no-vendor-prefix": null,
19
+ "property-no-vendor-prefix": null,
20
+ "at-rule-no-unknown": [
21
+ true,
22
+ {
23
+ "ignoreAtRules": [
24
+ "extend",
25
+ "at-root",
26
+ "debug",
27
+ "warn",
28
+ "error",
29
+ "if",
30
+ "else",
31
+ "for",
32
+ "each",
33
+ "while",
34
+ "mixin",
35
+ "include",
36
+ "content",
37
+ "return",
38
+ "function",
39
+ "tailwind",
40
+ "apply",
41
+ "responsive",
42
+ "variants",
43
+ "screen"
44
+ ]
45
+ }
46
+ ]
47
+ }
48
+ }
docs/site/CHANGELOG.md ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Changelog
2
+
3
+ All notable changes to this project will be documented in this file. Dates are displayed in UTC.
4
+
5
+ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
+
7
+ #### [v0.5.0](https://github.com/h-enk/doks-child-theme/compare/v0.4.3...v0.5.0)
8
+
9
+ - feat: update for Doks v0.5.0 [`0df89d5`](https://github.com/h-enk/doks-child-theme/commit/0df89d51fbf706aea17d68d07bcfaeba422a1b60)
10
+ - content: update content for Doks v0.5.0 [`63d4412`](https://github.com/h-enk/doks-child-theme/commit/63d4412ba65217ca21092565bf3e6bcc2706e575)
11
+ - meta: update README.md [`5a8fa90`](https://github.com/h-enk/doks-child-theme/commit/5a8fa9081ce203d594c4ad7b5193f87bd51f3d6e)
12
+
13
+ #### [v0.4.3](https://github.com/h-enk/doks-child-theme/compare/v0.4.2...v0.4.3)
14
+
15
+ > 18 May 2022
16
+
17
+ - deps: bump versions to latest [`8ee2cb6`](https://github.com/h-enk/doks-child-theme/commit/8ee2cb6b8f2a7b38562f266c7db9c028a24c4523)
18
+ - meta: update changelog [`48499b6`](https://github.com/h-enk/doks-child-theme/commit/48499b6e66bf9bf5bc3d27597b2840618882b16b)
19
+
20
+ #### [v0.4.2](https://github.com/h-enk/doks-child-theme/compare/v0.4.1...v0.4.2)
21
+
22
+ > 1 April 2022
23
+
24
+ - deps: bump @hyas/doks from 0.4.1 to 0.4.2 [`eda0e36`](https://github.com/h-enk/doks-child-theme/commit/eda0e360262707c7baa1af2b7d373865d5e534fd)
25
+ - meta: update changelog [`4e8f1a8`](https://github.com/h-enk/doks-child-theme/commit/4e8f1a8e51292c4010ee48a1f94b22db441d0998)
26
+ - meta: update sponsors + backers sections [`788e1e3`](https://github.com/h-enk/doks-child-theme/commit/788e1e3ab5b5447b4464018a0959e3cd1338a486)
27
+
28
+ #### [v0.4.1](https://github.com/h-enk/doks-child-theme/compare/v0.4.0...v0.4.1)
29
+
30
+ > 31 March 2022
31
+
32
+ - deps: bump versions to latest [`a85f35d`](https://github.com/h-enk/doks-child-theme/commit/a85f35dc3fe0ca5a3080d4fe7d567f7e8863566e)
33
+ - ops: add continuous integration + stale workflows [`8134f51`](https://github.com/h-enk/doks-child-theme/commit/8134f518b7873be39ff2cd6eb3472bf681fa3390)
34
+ - feat: add files for custom scss + js [`12bf689`](https://github.com/h-enk/doks-child-theme/commit/12bf689da853e90ed51f25b8103e7beca68c23b0)
35
+
36
+ #### [v0.4.0](https://github.com/h-enk/doks-child-theme/compare/v0.3.5...v0.4.0)
37
+
38
+ > 4 February 2022
39
+
40
+ - deps: bump versions to latest [`fe5bf72`](https://github.com/h-enk/doks-child-theme/commit/fe5bf729e6e6754f3b6957b5d6c657c84326d070)
41
+ - fix: comment out mount content [`477ed68`](https://github.com/h-enk/doks-child-theme/commit/477ed686336826296a8b8e83c90af45b7a904bf4)
42
+ - config: update for doks v0.4.0 [`d00d595`](https://github.com/h-enk/doks-child-theme/commit/d00d595bc6add83780cf577d58099bbcecfbbe40)
43
+
44
+ #### [v0.3.5](https://github.com/h-enk/doks-child-theme/compare/v0.3.4...v0.3.5)
45
+
46
+ > 5 October 2021
47
+
48
+ - chore(deps-dev): bump bootstrap from 5.1.0 to 5.1.1 [`#64`](https://github.com/h-enk/doks-child-theme/pull/64)
49
+ - chore(deps-dev): bump @babel/preset-env from 7.15.4 to 7.15.6 [`#65`](https://github.com/h-enk/doks-child-theme/pull/65)
50
+ - chore(deps-dev): bump autoprefixer from 10.3.4 to 10.3.7 [`#71`](https://github.com/h-enk/doks-child-theme/pull/71)
51
+ - feat: update for doks 0.3.5 [`3782cf5`](https://github.com/h-enk/doks-child-theme/commit/3782cf57ed43acadc426305dc64764048b78138a)
52
+ - meta: update changelog [`36436ff`](https://github.com/h-enk/doks-child-theme/commit/36436fff6fd1ba412fdc991f4acca35a2835d09c)
53
+ - meta: bump version doks-child-theme to 0.3.5 [`57eae76`](https://github.com/h-enk/doks-child-theme/commit/57eae76694755ab1b06691a3c5427f224b806661)
54
+
55
+ #### [v0.3.4](https://github.com/h-enk/doks-child-theme/compare/v0.3.3...v0.3.4)
56
+
57
+ > 7 September 2021
58
+
59
+ - feat: update for doks 0.3.4 [`b08cb80`](https://github.com/h-enk/doks-child-theme/commit/b08cb80fadc09f7ad7e7e960d09dc482666fa108)
60
+ - deps: bump versions to latest [`a790bbe`](https://github.com/h-enk/doks-child-theme/commit/a790bbe7fa9ac52d15270339bf1ec24be385a2a8)
61
+ - Create FUNDING.yml [`8613d4c`](https://github.com/h-enk/doks-child-theme/commit/8613d4caad869c0f1f80b5610f6e49b766935541)
62
+
63
+ #### [v0.3.3](https://github.com/h-enk/doks-child-theme/compare/v0.3.0...v0.3.3)
64
+
65
+ > 5 July 2021
66
+
67
+ - feat: update for doks v0.3.3 [`f7b5720`](https://github.com/h-enk/doks-child-theme/commit/f7b57204c9de70f14e17337a8baa44815beb2b50)
68
+ - content: update readme [`14f1a3f`](https://github.com/h-enk/doks-child-theme/commit/14f1a3fede35e7f4a88d8ea063416958c2900a56)
69
+ - Update for doks v0.3.3 [`babdd77`](https://github.com/h-enk/doks-child-theme/commit/babdd7791e6002fd2272b1bc3c95c58654933454)
70
+
71
+ #### [v0.3.0](https://github.com/h-enk/doks-child-theme/compare/v0.2.3...v0.3.0)
72
+
73
+ > 25 June 2021
74
+
75
+ - feat: update for doks v0.3.0 [`630c2a2`](https://github.com/h-enk/doks-child-theme/commit/630c2a2edd246f3fc26fbb799d2debb77857882c)
76
+ - fix: add data directory [`69cdc3c`](https://github.com/h-enk/doks-child-theme/commit/69cdc3cccea6a976552e654a86a85475a19ef448)
77
+
78
+ #### [v0.2.3](https://github.com/h-enk/doks-child-theme/compare/v0.2.2...v0.2.3)
79
+
80
+ > 2 April 2021
81
+
82
+ - feat: update for doks v0.2.3 [`e517462`](https://github.com/h-enk/doks-child-theme/commit/e517462127252a50d78cf34180ea10f898993585)
83
+ - chore(release): 0.2.3 [`1fcbc4e`](https://github.com/h-enk/doks-child-theme/commit/1fcbc4e2cb297f780004582612d904920044b181)
84
+
85
+ #### v0.2.2
86
+
87
+ > 26 March 2021
88
+
89
+ - feat: add doks as a node module [`cfed05e`](https://github.com/h-enk/doks-child-theme/commit/cfed05efaf7b4191b2bdca4c91405c6cabc8396c)
90
+ - deps: bump versions to latest [`997a7dd`](https://github.com/h-enk/doks-child-theme/commit/997a7dd7250b3dc0fe23c92ebf83ed21c9ba2d6b)
91
+ - config: update for doks v0.2.2 [`03f51d5`](https://github.com/h-enk/doks-child-theme/commit/03f51d5fd1f66f7afa0957d92adf779d438a3946)
92
+
93
+ <!-- auto-changelog-above -->
94
+
95
+ ### [0.2.3](https://github.com/h-enk/doks/compare/v0.2.2...v0.2.3) (2021-04-02)
96
+
97
+
98
+ ### Features
99
+
100
+ * update for doks v0.2.3 ([e517462](https://github.com/h-enk/doks/commit/e517462127252a50d78cf34180ea10f898993585))
101
+
102
+ ### 0.2.2 (2021-03-26)
103
+
104
+
105
+ ### Features
106
+
107
+ * add doks as a node module ([cfed05e](https://github.com/h-enk/doks/commit/cfed05efaf7b4191b2bdca4c91405c6cabc8396c))
108
+
109
+
110
+ ### Dependencies
111
+
112
+ * bump versions to latest ([997a7dd](https://github.com/h-enk/doks/commit/997a7dd7250b3dc0fe23c92ebf83ed21c9ba2d6b))
docs/site/CODE_OF_CONDUCT.md ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, sex characteristics, gender identity and expression,
9
+ level of experience, education, socio-economic status, nationality, personal
10
+ appearance, race, religion, or sexual identity and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at hello@getdoks.org. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
+
73
+ [homepage]: https://www.contributor-covenant.org
74
+
75
+ For answers to common questions about this code of conduct, see
76
+ https://www.contributor-covenant.org/faq
docs/site/LICENSE ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2018-present, Gridsome
4
+ Copyright (c) 2020-present, Henk Verlinde
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
docs/site/README.md ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <p align="center">
2
+ <a href="https://getdoks.org/">
3
+ <img alt="Doks" src="https://doks.netlify.app/logo-doks.svg" width="60">
4
+ </a>
5
+ </p>
6
+
7
+ <h1 align="center">
8
+ Doks
9
+ </h1>
10
+
11
+ <h3 align="center">
12
+ Doks Child Theme
13
+ </h3>
14
+
15
+ <p align="center">
16
+ Doks is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize.
17
+ </p>
18
+
19
+ <p align="center">
20
+ <a href="https://github.com/h-enk/doks-child-theme/blob/master/LICENSE">
21
+ <img src="https://img.shields.io/github/license/h-enk/doks-child-theme?style=flat-square" alt="GitHub">
22
+ </a>
23
+ <a href="https://github.com/h-enk/doks-child-theme/releases">
24
+ <img src="https://img.shields.io/github/v/release/h-enk/doks-child-theme?include_prereleases&style=flat-square"alt="GitHub release (latest SemVer including pre-releases)">
25
+ </a>
26
+ <a href="https://github.com/h-enk/doks-child-theme/actions/workflows/codeql-analysis.yml">
27
+ <img src="https://img.shields.io/github/workflow/status/h-enk/doks-child-theme/CodeQL/master?style=flat-square" alt="GitHub Workflow Status (branch)">
28
+ </a>
29
+ <a href="https://app.netlify.com/sites/hyas-child-theme/deploys">
30
+ <img src="https://img.shields.io/netlify/75395a37-8537-4410-a8c3-d56bf27ec963?style=flat-square" alt="Netlify">
31
+ </a>
32
+ </p>
33
+
34
+ ![Doks — Modern Documentation Theme](https://raw.githubusercontent.com/h-enk/doks/master/images/doks.png)
35
+
36
+ ## Demo
37
+
38
+ - [doks-child-theme.netlify.app](https://doks-child-theme.netlify.app/)
39
+
40
+ ## Why Doks?
41
+
42
+ Nine main reasons why you should use Doks:
43
+
44
+ 1. __Security aware__. Get A+ scores on [Mozilla Observatory](https://observatory.mozilla.org/analyze/doks.netlify.app) out of the box. Easily change the default Security Headers to suit your needs.
45
+
46
+ 2. __Fast by default__. Get 100 scores on [Google Lighthouse](https://googlechrome.github.io/lighthouse/viewer/?gist=59aafe464a68f8bc30b8e9a636d5b053) by default. Doks removes unused css, prefetches links, and lazy loads images.
47
+
48
+ 3. __SEO-ready__. Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking.
49
+
50
+ 4. __Development tools__. Code with confidence. Check styles, scripts, and markdown for errors and fix automatically or manually.
51
+
52
+ 5. __Bootstrap framework__. Build robust, flexible, and intuitive websites with Bootstrap 5. Easily customize your Doks site with the source Sass files.
53
+
54
+ 6. __Netlify-ready__. Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers.
55
+
56
+ 7. __Full text search__. Search your Doks site with FlexSearch. Easily customize index settings and search options to your liking.
57
+
58
+ 8. __Page layouts__. Build pages with a landing page, blog, or documentation layout. Add custom sections and components to suit your needs.
59
+
60
+ 9. __Dark mode__. Switch to a low-light UI with the click of a button. Change colors with variables to match your branding.
61
+
62
+ ### Other features
63
+
64
+ - __Multilingual and i18n__ support
65
+ - __Versioning__ documentation support
66
+ - __KaTeX__ math typesetting
67
+ - __Mermaid__ diagrams and visualization
68
+ - __highlight.js__ syntax highlighting
69
+
70
+ ## Requirements
71
+
72
+ - [Git](https://git-scm.com/) — latest source release
73
+ - [Node.js](https://nodejs.org/) — latest LTS version or newer
74
+
75
+ <details>
76
+ <summary>Why Node.js?</summary>
77
+
78
+ Doks uses npm (included with Node.js) to centralize dependency management, making it [easy to update](https://getdoks.org/docs/help/how-to-update/) resources, build tooling, plugins, and build scripts.
79
+
80
+ </details>
81
+
82
+ ## Get started
83
+
84
+ Start a new Doks project in three steps:
85
+
86
+ ### 1. Create a new site
87
+
88
+ Doks is available as a child theme and a starter theme.
89
+
90
+ #### Child theme
91
+
92
+ - Intended for novice to intermediate users
93
+ - Intended for minor customizations
94
+ - [Easily update npm packages](https://getdoks.org/docs/help/how-to-update/) — __including__ [Doks](https://www.npmjs.com/package/@hyas/doks)
95
+
96
+ ```bash
97
+ git clone https://github.com/h-enk/doks-child-theme.git my-doks-site && cd my-doks-site
98
+ ```
99
+
100
+ #### Starter theme
101
+
102
+ - Intended for intermediate to advanced users
103
+ - Intended for major customizations
104
+ - [Easily update npm packages](https://getdoks.org/docs/help/how-to-update/)
105
+
106
+ ```bash
107
+ git clone https://github.com/h-enk/doks.git my-doks-site && cd my-doks-site
108
+ ```
109
+
110
+ <details>
111
+ <summary>Help me choose</summary>
112
+
113
+ Not sure which one is for you? Pick the child theme.
114
+
115
+ </details>
116
+
117
+ ### 2. Install dependencies
118
+
119
+ ```bash
120
+ npm install
121
+ ```
122
+
123
+ ### 3. Start development server
124
+
125
+ ```bash
126
+ npm run start
127
+ ```
128
+
129
+ ## Other commands
130
+
131
+ Doks comes with [commands](https://getdoks.org/docs/prologue/commands/) for common tasks.
132
+
133
+ ## Documentation
134
+
135
+ - [Netlify](https://docs.netlify.com/)
136
+ - [Hugo](https://gohugo.io/documentation/)
137
+ - [Doks](https://getdoks.org/)
138
+
139
+ ## Communities
140
+
141
+ - [Netlify Community](https://community.netlify.com/)
142
+ - [Hugo Forums](https://discourse.gohugo.io/)
143
+ - [Doks Discussions](https://github.com/h-enk/doks/discussions)
144
+
145
+ ## Sponsors
146
+
147
+ Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
148
+
149
+ [![OC sponsor 0](https://opencollective.com/doks/tiers/sponsor/0/avatar.svg)](https://opencollective.com/doks/tiers/sponsor/0/website)
150
+ [![OC sponsor 1](https://opencollective.com/doks/tiers/sponsor/1/avatar.svg)](https://opencollective.com/doks/tiers/sponsor/1/website)
151
+
152
+ ## Backers
153
+
154
+ Support this project by becoming a backer. Your avatar will show up here.
155
+
156
+ [![Backers](https://opencollective.com/doks/tiers/backer.svg?49741992)](https://opencollective.com/doks)
docs/site/SECURITY.md ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # Reporting Security Issues
2
+
3
+ The Doks team and community take security issues in Doks seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
4
+
5
+ To report a security issue, email [security@getdoks.org](mailto:security@getdoks.org) and include the word "SECURITY" in the subject line.
6
+
7
+ We'll endeavor to respond quickly, and will keep you updated throughout the process.
docs/site/assets/images/default-image.png ADDED
docs/site/assets/js/app.js ADDED
@@ -0,0 +1 @@
 
 
1
+ /** Custom scripts */
docs/site/assets/scss/app.scss ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** Import Bootstrap functions */
2
+ @import "bootstrap/scss/functions";
3
+
4
+ /** Import theme variables */
5
+ @import "common/variables";
6
+
7
+ /** Import Bootstrap */
8
+ @import "bootstrap/scss/bootstrap";
9
+
10
+ /** Import highlight.js */
11
+ // @import "highlight.js/scss/github-dark-dimmed";
12
+
13
+ /** Import KaTeX */
14
+ @import "katex/dist/katex";
15
+
16
+ /** Import theme styles */
17
+ @import "common/fonts";
18
+ @import "common/global";
19
+ @import "common/dark";
20
+ @import "components/alerts";
21
+ @import "components/buttons";
22
+ @import "components/code";
23
+ @import "components/details";
24
+ @import "components/syntax";
25
+ @import "components/comments";
26
+ @import "components/forms";
27
+ @import "components/images";
28
+ @import "components/mermaid";
29
+ @import "components/search";
30
+ @import "components/tables";
31
+ @import "layouts/footer";
32
+ @import "layouts/header";
33
+ @import "layouts/pages";
34
+ @import "layouts/posts";
35
+ @import "layouts/sidebar";
36
+
37
+ /** Import custom styles */
38
+ @import "common/custom";
docs/site/assets/scss/common/_custom.scss ADDED
@@ -0,0 +1 @@
 
 
1
+ /** Custom styles */
docs/site/babel.config.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ module.exports = {
2
+ presets: [
3
+ [
4
+ '@babel/preset-env',
5
+ {
6
+ targets: {
7
+ browsers: [
8
+ // Best practice: https://github.com/babel/babel/issues/7789
9
+ '>=1%',
10
+ 'not ie 11',
11
+ 'not op_mini all'
12
+ ]
13
+ }
14
+ }
15
+ ]
16
+ ]
17
+ };
docs/site/config/_default/config.toml ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ baseurl = "https://waha.devlike.pro/"
2
+ canonifyURLs = false
3
+ disableAliases = true
4
+ disableHugoGeneratorInject = true
5
+ enableEmoji = true
6
+ enableGitInfo = false
7
+ enableRobotsTXT = true
8
+ paginate = 7
9
+ rssLimit = 10
10
+
11
+ # Multilingual
12
+ defaultContentLanguage = "en"
13
+ disableLanguages = ["de", "nl"]
14
+ # defaultContentLanguageInSubdir = true
15
+
16
+ # add redirects/headers
17
+ [outputs]
18
+ home = ["HTML", "RSS", "REDIRECTS", "HEADERS"]
19
+ section = ["HTML", "RSS", "SITEMAP"]
20
+
21
+ # remove .{ext} from text/netlify
22
+ [mediaTypes."text/netlify"]
23
+ suffixes = [""]
24
+ delimiter = ""
25
+
26
+ # add output format for netlify _redirects
27
+ [outputFormats.REDIRECTS]
28
+ mediaType = "text/netlify"
29
+ baseName = "_redirects"
30
+ isPlainText = true
31
+ notAlternative = true
32
+
33
+ # add output format for netlify _headers
34
+ [outputFormats.HEADERS]
35
+ mediaType = "text/netlify"
36
+ baseName = "_headers"
37
+ isPlainText = true
38
+ notAlternative = true
39
+
40
+ # add output format for section sitemap.xml
41
+ [outputFormats.SITEMAP]
42
+ mediaType = "application/xml"
43
+ baseName = "sitemap"
44
+ isHTML = false
45
+ isPlainText = true
46
+ noUgly = true
47
+ rel = "sitemap"
48
+
49
+ [caches]
50
+ [caches.getjson]
51
+ dir = ":cacheDir/:project"
52
+ maxAge = "10s"
53
+
54
+ [sitemap]
55
+ changefreq = "weekly"
56
+ filename = "sitemap.xml"
57
+ priority = 0.5
58
+
59
+ [taxonomies]
60
+ contributor = "contributors"
61
+ category = "categories"
62
+ tag = "tags"
63
+
64
+ [permalinks]
65
+ blog = "/blog/:title/"
66
+ # docs = "/docs/1.0/:sections[1:]/:title/"
67
+
68
+ [minify.tdewolff.html]
69
+ keepWhitespace = false
70
+
71
+ [related]
72
+ threshold = 80
73
+ includeNewer = true
74
+ toLower = false
75
+ [[related.indices]]
76
+ name = "categories"
77
+ weight = 100
78
+ [[related.indices]]
79
+ name = "tags"
80
+ weight = 80
81
+ [[related.indices]]
82
+ name = "date"
83
+ weight = 10
docs/site/config/_default/languages.toml ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [en]
2
+ languageName = "English"
3
+ contentDir = "content/en"
4
+ weight = 10
5
+ [en.params]
6
+ languageISO = "EN"
7
+ languageTag = "en-US"
8
+
9
+ [de]
10
+ languageName = "German"
11
+ contentDir = "content/de"
12
+ weight = 15
13
+ [de.params]
14
+ languageISO = "DE"
15
+ languageTag = "de-DE"
16
+
17
+ [nl]
18
+ languageName = "Nederlands"
19
+ contentDir = "content/nl"
20
+ weight = 20
21
+ [nl.params]
22
+ languageISO = "NL"
23
+ languageTag = "nl-NL"
24
+ titleAddition = "Modern documentatie-thema"
25
+ description = "Doks is een Hugo-thema waarmee je moderne documentatie-websites kunt bouwen die veilig, snel en klaar voor SEO zijn — standaard."
26
+ titleHome = "Doks thema"
27
+ footer = "Mogelijk gemaakt door <a href=\"https://www.netlify.com/\">Netlify</a>, <a href=\"https://gohugo.io/\">Hugo</a>, en <a href=\"https://getdoks.org/\">Doks</a>"
28
+ alertText = "Introductie van het Doks-kinderthema, verschillende DX + UX-updates en meer! <a class=\"alert-link stretched-link\" href=\"https://getdoks.org/blog/doks-v0.2/\">Bekijk Doks v0.2</a>"