From 7edf8038cc1b82c20c0b2d219977f861e0545387 Mon Sep 17 00:00:00 2001 From: Gzx1999 Date: Thu, 15 Dec 2022 21:29:23 +0800 Subject: [PATCH] modify nginxconfig main page --- .../.github/ISSUE_TEMPLATE/help.md | 29 + .../.github/ISSUE_TEMPLATE/report-a-bug.md | 36 + .../ISSUE_TEMPLATE/request-a-feature.md | 38 + .../.github/PULL_REQUEST_TEMPLATE.md | 16 + .../.github/workflows/do-spaces-workflow.yml | 54 + .../.github/workflows/gh-pages-workflow.yml | 55 + .../.github/workflows/test-workflow.yml | 91 + nginx/nginxconfig.io/.husky/pre-commit | 4 + nginx/nginxconfig.io/build/index.html | 3318 +++++++++++++++++ nginx/nginxconfig.io/build/prism.css | 350 ++ nginx/nginxconfig.io/package.json | 4 +- .../src/nginxconfig/util/language_packs.js | 18 +- 12 files changed, 4002 insertions(+), 11 deletions(-) create mode 100644 nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/help.md create mode 100644 nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/report-a-bug.md create mode 100644 nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/request-a-feature.md create mode 100644 nginx/nginxconfig.io/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 nginx/nginxconfig.io/.github/workflows/do-spaces-workflow.yml create mode 100644 nginx/nginxconfig.io/.github/workflows/gh-pages-workflow.yml create mode 100644 nginx/nginxconfig.io/.github/workflows/test-workflow.yml create mode 100644 nginx/nginxconfig.io/.husky/pre-commit create mode 100644 nginx/nginxconfig.io/build/index.html create mode 100644 nginx/nginxconfig.io/build/prism.css diff --git a/nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/help.md b/nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/help.md new file mode 100644 index 00000000..417d0ac0 --- /dev/null +++ b/nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/help.md @@ -0,0 +1,29 @@ +--- +name: Help ❓ +about: Encountered a problem with the tool? +--- + + + +## Information + + +## Help request + +### Problem + + +### What I have tried + + +### Screenshots + diff --git a/nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/report-a-bug.md b/nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/report-a-bug.md new file mode 100644 index 00000000..747d2274 --- /dev/null +++ b/nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/report-a-bug.md @@ -0,0 +1,36 @@ +--- +name: Report a bug πŸ› +about: Report a bug with the tool. Only use this if you're 100% sure there's something wrong, otherwise, try "Help". +--- + + + +## Information + + +## Details + +### Description + + +### Steps to reproduce + + +### Expected behavior + + +### Screenshots + diff --git a/nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/request-a-feature.md b/nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/request-a-feature.md new file mode 100644 index 00000000..8ba9eb57 --- /dev/null +++ b/nginx/nginxconfig.io/.github/ISSUE_TEMPLATE/request-a-feature.md @@ -0,0 +1,38 @@ +--- +name: Request a feature πŸ†• +about: Suggest a new feature that you would like in the tool! +--- + + + +## Feature request + +### Feature description + + +### How the feature is useful + diff --git a/nginx/nginxconfig.io/.github/PULL_REQUEST_TEMPLATE.md b/nginx/nginxconfig.io/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..13d86895 --- /dev/null +++ b/nginx/nginxconfig.io/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Type of Change + + +- **Build Scripts:** +- **Tool Source:** +- **Something else:** + +## What issue does this relate to? + + +### What should this PR do? + + +### What are the acceptance criteria? + + diff --git a/nginx/nginxconfig.io/.github/workflows/do-spaces-workflow.yml b/nginx/nginxconfig.io/.github/workflows/do-spaces-workflow.yml new file mode 100644 index 00000000..e74a8e51 --- /dev/null +++ b/nginx/nginxconfig.io/.github/workflows/do-spaces-workflow.yml @@ -0,0 +1,54 @@ +name: Deploy to DigitalOcean Spaces + +on: push + +permissions: + contents: write + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + cache: npm + + - name: Setup NPM + run: | + NPM_VERSION=$(jq -r .engines.npm package.json) + NPM_VERSION=${NPM_VERSION/\^/} + if [ "$(npm --version)" != "$NPM_VERSION" ]; then + npm install -g npm@$NPM_VERSION && npm --version + else + echo "NPM version is same as package.json engines.npm" + fi + + - name: Install dependencies + run: npm ci + + - name: Build tool + run: npm run build + env: + NODE_ENV: production + + - name: Deploy commit to DigitalOcean Spaces + run: aws s3 sync ./dist s3://${{ secrets.SPACES_BUCKET }}/commits/nginxconfig/${{ github.sha }} --endpoint=https://${{ secrets.SPACES_REGION }}.digitaloceanspaces.com --acl public-read --content-encoding utf8 + env: + AWS_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_ACCESS_KEY }} + AWS_DEFAULT_REGION: ${{ secrets.SPACES_REGION }} + + - name: Leave a comment on commit + run: npm run deploy:spaces:comment + env: + REPO_NAME: ${{ github.repository }} + COMMIT_SHA: ${{ github.sha }} + GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SPACES_REGION: ${{ secrets.SPACES_REGION }} + SPACES_BUCKET: ${{ secrets.SPACES_BUCKET }} diff --git a/nginx/nginxconfig.io/.github/workflows/gh-pages-workflow.yml b/nginx/nginxconfig.io/.github/workflows/gh-pages-workflow.yml new file mode 100644 index 00000000..1e66653b --- /dev/null +++ b/nginx/nginxconfig.io/.github/workflows/gh-pages-workflow.yml @@ -0,0 +1,55 @@ +name: Test and deploy to GitHub Pages + +on: + push: + branches: + - master + +permissions: + contents: write + +concurrency: + group: gh-pages-workflow + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + cache: npm + + - name: Setup NPM + run: | + NPM_VERSION=$(jq -r .engines.npm package.json) + NPM_VERSION=${NPM_VERSION/\^/} + if [ "$(npm --version)" != "$NPM_VERSION" ]; then + npm install -g npm@$NPM_VERSION && npm --version + else + echo "NPM version is same as package.json engines.npm" + fi + + - name: Install dependencies + run: npm ci + + - name: Test before production + run: npm test + + - name: Build tool + run: npm run build + env: + NODE_ENV: production + + - name: Deploy master to GitHub Pages + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: dist + clean: true + single-commit: true diff --git a/nginx/nginxconfig.io/.github/workflows/test-workflow.yml b/nginx/nginxconfig.io/.github/workflows/test-workflow.yml new file mode 100644 index 00000000..e64c8c25 --- /dev/null +++ b/nginx/nginxconfig.io/.github/workflows/test-workflow.yml @@ -0,0 +1,91 @@ +name: Test commit or pull request + +on: [push, pull_request] + +jobs: + eslint: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + cache: npm + + - name: Setup NPM + run: | + NPM_VERSION=$(jq -r .engines.npm package.json) + NPM_VERSION=${NPM_VERSION/\^/} + if [ "$(npm --version)" != "$NPM_VERSION" ]; then + npm install -g npm@$NPM_VERSION && npm --version + else + echo "NPM version is same as package.json engines.npm" + fi + + - name: Install dependencies + run: npm ci + + - name: Test with eslint + run: npm run test:eslint + + stylelint: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + cache: npm + + - name: Setup NPM + run: | + NPM_VERSION=$(jq -r .engines.npm package.json) + NPM_VERSION=${NPM_VERSION/\^/} + if [ "$(npm --version)" != "$NPM_VERSION" ]; then + npm install -g npm@$NPM_VERSION && npm --version + else + echo "NPM version is same as package.json engines.npm" + fi + + - name: Install dependencies + run: npm ci + + - name: Test with stylelint + run: npm run test:stylelint + + i18n-packs: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + cache: npm + + - name: Setup NPM + run: | + NPM_VERSION=$(jq -r .engines.npm package.json) + NPM_VERSION=${NPM_VERSION/\^/} + if [ "$(npm --version)" != "$NPM_VERSION" ]; then + npm install -g npm@$NPM_VERSION && npm --version + else + echo "NPM version is same as package.json engines.npm" + fi + + - name: Install dependencies + run: npm ci + + - name: Test i18n packs integrity + run: npm run test:i18n-packs diff --git a/nginx/nginxconfig.io/.husky/pre-commit b/nginx/nginxconfig.io/.husky/pre-commit new file mode 100644 index 00000000..36af2198 --- /dev/null +++ b/nginx/nginxconfig.io/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx lint-staged diff --git a/nginx/nginxconfig.io/build/index.html b/nginx/nginxconfig.io/build/index.html new file mode 100644 index 00000000..ee6c5f8c --- /dev/null +++ b/nginx/nginxconfig.io/build/index.html @@ -0,0 +1,3318 @@ + + + + + + + + + + + + + + + + + NGINXConfig | DigitalOcean + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + \ No newline at end of file diff --git a/nginx/nginxconfig.io/build/prism.css b/nginx/nginxconfig.io/build/prism.css new file mode 100644 index 00000000..f2da89a7 --- /dev/null +++ b/nginx/nginxconfig.io/build/prism.css @@ -0,0 +1,350 @@ +code[class*="language-"], +pre[class*="language-"] { + color: #676767; + font-family: monospace,serif; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + font-size: 13.6px; + line-height: 1.4em; + + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + background: #b3d4fc; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + background: #b3d4fc; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border: 2px solid #f1f1f1; + background-color: #fafafa; +} + +/* Single line prefix */ +pre[class*="language-"] > code[data-prefix]:before { + color:#676767; + content: attr(data-prefix); + padding-right: 8px; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .2em; + padding-top: 1px; padding-bottom: 1px; + background: #fafafa; + border: 2px solid #f1f1f1; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #999; + font-style: italic; +} + +.token.namespace { + opacity: .7; +} + +.token.string, +.token.attr-value { + color: #15cd72; +} +.token.punctuation, +.token.operator { + color: #393A34; /* no highlight */ +} + +.token.entity, +.token.url, +.token.symbol, +.token.number, +.token.boolean, +.token.variable, +.token.constant, +.token.property, +.token.regex, +.token.inserted { + color: #36acaa; +} + +.token.atrule, +.token.keyword, +.token.attr-name, +.language-autohotkey .token.selector { + color: #0069ff; + font-weight: bold; +} + +.token.function, +.token.deleted, +.language-autohotkey .token.tag { + color: #0069ff; +} + +.token.tag, +.token.selector, +.language-autohotkey .token.keyword { + color: #0069ff; +} + +.token.important, +.token.function, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +pre[data-line] { + position: relative; + padding: 1em 0 1em 3em; +} + +.line-highlight { + position: absolute; + left: 0; + right: 0; + padding: inherit 0; + margin-top: 1em; /* Same as .prism’s padding-top */ + + background: hsla(0, 0%, 65%,.08); + background: linear-gradient(to right, hsla(0, 0%, 65%, 0.1) 70%, hsla(0, 0%, 50%,0)); + + pointer-events: none; + + line-height: inherit; + white-space: pre; +} + +.line-highlight:before, + .line-highlight[data-end]:after { + content: '\27A1'; + position: absolute; + top: 0; + left: 0; + padding-left: 0.5em; + width: 31px; + color: #999; + font-weight: bold; + font-family: sans-serif; + text-align: center; + font-size: 17px; + background-color: #f1f1f1; + } + +pre[class*="language-"].line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} + +pre[class*="language-"].line-numbers > code { + position: relative; + white-space: inherit; +} + +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #dfdfdf; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + +} + + .line-numbers-rows > span { + pointer-events: none; + display: block; + counter-increment: linenumber; + } + + .line-numbers-rows > span:before { + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; + } + +div.code-toolbar { + position: relative; +} + +div.code-toolbar > .toolbar { + position: absolute; + top: .3em; + right: .2em; + transition: opacity 0.2s ease-in-out; + opacity: 0; +} + +div.code-toolbar:hover > .toolbar { + opacity: 1; +} + +div.code-toolbar > .toolbar .toolbar-item { + display: inline-block; +} + +div.code-toolbar > .toolbar a { + cursor: pointer; +} + +div.code-toolbar > .toolbar a, +div.code-toolbar > .toolbar button, +div.code-toolbar > .toolbar span { + color: #0069ff; + font-size: 13px; + padding: 0 .5em; + text-decoration: none; + font-family: proxima-nova,'helvetica neue',helvetica,arial,sans-serif; +} + +@keyframes prism-click-to-copy-floatup { + 20% { + opacity: 0.999; + } + + 100% { + transform: translate3d(-50%, -17px, 0); + } +} + +div.code-toolbar > .toolbar a:after { + color: #0069ff; + content: 'Copied'; + display: inline-block; + position: absolute; + top: -2px; + left: 50%; + opacity: 0.001; + text-align: center; + transform: translate3d(-50%, 0, 0); + -webkit-backface-visibility: hidden; + white-space: nowrap; +} + +div.code-toolbar > .toolbar a.copying:after { + animation: prism-click-to-copy-floatup 0.5s ease-in-out; +} + + +.command-line-prompt { + border-right: 1px solid #999; + display: block; + float: left; + font-size: 100%; + letter-spacing: -1px; + margin-right: 1em; + pointer-events: none; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.command-line-prompt > span:before { + color: #999; + content: ' '; + display: block; + padding-right: 0.8em; +} + +.command-line-prompt > span[data-user]:before { + content: "[" attr(data-user) "@" attr(data-host) "] $"; +} + +.command-line-prompt > span[data-user="root"]:before { + content: "[" attr(data-user) "@" attr(data-host) "] #"; +} + +.command-line-prompt > span[data-prompt]:before { + content: attr(data-prompt); +} + +/* code block title */ +pre[class*="code-block-title"][data-title] { + padding-top: 40px; +} + +pre[class*="code-block-title"][data-title] + .toolbar { + margin-top: 30px; +} + +pre[class*="code-block-title"][data-title]:before { + width: 100%; + position: absolute; + left: 0; + top: 0; + height: 30px; + text-align: center; + content: attr(data-title); + display: flex; + align-items: center; + box-sizing: border-box; + padding: 0 20px; + background: #fff; + border: 2px solid #f1f1f1; +} + +pre[class*="code-block-title"][class*="line-numbers"][data-title]:before { + border-width: 0 0 2px 0 +} + +pre[class*="code-block-title"][class*="code-block-title-center"]:before { + justify-content: center; +} + +pre[class*="code-block-title"][class*="code-block-title-right"]:before { + justify-content: flex-end; +} + +pre[class*="code-block-title"][data-title] .line-highlight { + margin-top: 40px; +} + +pre.diff-highlight > code .token.deleted:not(.prefix), +pre > code.diff-highlight .token.deleted:not(.prefix) { + background-color: rgba(255, 0, 0, .1); + color: inherit; + display: block; +} + +pre.diff-highlight > code .token.inserted:not(.prefix), +pre > code.diff-highlight .token.inserted:not(.prefix) { + background-color: rgba(0, 255, 128, .1); + color: inherit; + display: block; +} \ No newline at end of file diff --git a/nginx/nginxconfig.io/package.json b/nginx/nginxconfig.io/package.json index 85729837..416ebe8d 100644 --- a/nginx/nginxconfig.io/package.json +++ b/nginx/nginxconfig.io/package.json @@ -13,8 +13,8 @@ "scripts": { "build": "npm run build:clean && npm run build:template && npm run build:prism && npm run build:static && npm run build:tool", "build:clean": "do-vue clean", - "build:template": "do-vue template && node src/nginxconfig/build/template.js", - "build:prism": "node src/nginxconfig/build/prism.js", + "build:template": "", + "build:prism": "", "build:static": "copyfiles --up 2 src/static/{*,**/*} dist", "build:tool": "vue-cli-service build src/nginxconfig/mount.js --no-clean", "dev": "npm run build:template && npm run build:prism && npm run dev:tool", diff --git a/nginx/nginxconfig.io/src/nginxconfig/util/language_packs.js b/nginx/nginxconfig.io/src/nginxconfig/util/language_packs.js index 41ff37c4..a0d24766 100644 --- a/nginx/nginxconfig.io/src/nginxconfig/util/language_packs.js +++ b/nginx/nginxconfig.io/src/nginxconfig/util/language_packs.js @@ -39,14 +39,14 @@ export const fromSep = (pack, sep) => pack.split(sep, 2)[0].toLowerCase() + (pac // Export a static array of all language packs export const availablePacks = Object.freeze([ - 'de', + // 'de', 'en', - 'es', - 'fr', - 'ja', - 'pl', - 'ptBR', - 'ru', - 'zhCN', - 'zhTW', + // 'es', + // 'fr', + // 'ja', + // 'pl', + // 'ptBR', + // 'ru', + // 'zhCN', + // 'zhTW', ]); -- Gitee