Initial empty app

This commit is contained in:
MattIPv4 2020-04-27 20:20:51 +01:00
commit 9e615bb036
16 changed files with 8787 additions and 0 deletions

30
.eslintrc.js Normal file
View file

@ -0,0 +1,30 @@
module.exports = {
env: {
'browser': true,
'node': true
},
extends: [
'eslint:recommended',
'plugin:vue/recommended',
],
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
'linebreak-style': ['error', 'unix'],
semi: ['error', 'always'],
quotes: ['error', 'single'],
'comma-dangle': ['error', 'always-multiline'],
'vue/require-v-for-key': 0,
'vue/require-default-prop': 0,
'vue/no-v-html': 0,
'vue/max-attributes-per-line': 0,
'vue/html-indent': ['error', 4],
'vue/script-indent': ['error', 4, {
baseIndent: 1,
}],
'vue/no-unused-vars': 0,
'vue/html-self-closing': 0,
},
};

9
.gitignore vendored Normal file
View file

@ -0,0 +1,9 @@
node_modules/
.cache/
dist/
dev/
.idea/
.vscode/
build/base.html
build/svg/
.DS_Store

1
.nvmrc Normal file
View file

@ -0,0 +1 @@
12.10.0

7
.posthtmlrc.js Normal file
View file

@ -0,0 +1,7 @@
module.exports = {
"plugins": {
"posthtml-extend": {
"root": "./src"
},
}
}

38
.sasslintrc Normal file
View file

@ -0,0 +1,38 @@
{
"rules": {
"quotes": [
2,
{
"style": "double"
}
],
"pseudo-element": 2,
"trailing-semicolon": 2,
"final-newline": 2,
"leading-zero": 2,
"no-trailing-zero": 2,
"no-css-comments": 0,
"no-vendor-prefixes": 0,
"no-transition-all": 0,
"property-sort-order": 2,
"empty-line-between-blocks": 2,
"single-line-per-selector": 2,
"no-duplicate-properties": 2,
"no-color-literals": 0,
"hex-notation": [
2,
{
"style": "lowercase"
}
],
"hex-length": 2,
"force-element-nesting": 0,
"force-pseudo-nesting": 0,
"nesting-depth": 0,
"no-qualifying-elements": 0,
"indentation": 1,
"no-url-domains": 0,
"no-url-protocols": 0,
"placeholder-in-extend": 0
}
}

8507
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

54
package.json Normal file
View file

@ -0,0 +1,54 @@
{
"name": "nginxconfig-vue",
"version": "1.0.0",
"description": "",
"license": "Apache-2.0",
"scripts": {
"build": "npm run build:clean && npm run build:template && npm run build:static && npm run build:tool",
"build:clean": "do-vue clean",
"build:template": "do-vue template",
"build:static": "copyfiles --up 2 ./src/static/{*,**/*} dist",
"build:tool": "do-vue tool src/nginxconfig dist",
"dev": "npm run dev:prep && parcel src/nginxconfig/index.html --out-dir ./dev --port 8000",
"deploy:spaces:comment": "do-vue comment nginxconfig",
"dev:prep": "npm run build:template && npm run dev:static",
"dev:static": "copyfiles --up 2 ./src/static/{*,**/*} dev",
"test": "npm run test:eslint && npm run test:scss",
"test:eslint": "eslint 'src/**/*.{js,vue}'",
"test:eslint:fix": "npm run test:eslint -- --fix",
"test:scss": "sass-lint 'src/**/*.scss' --verbose --no-exit --config .sasslintrc"
},
"repository": {
"type": "git",
"url": "git+https://github.com/do-community/nginxconfig-vue.git"
},
"keywords": [
"nginx"
],
"author": "DigitalOcean",
"bugs": {
"url": "https://github.com/do-community/nginxconfig-vue/issues"
},
"homepage": "https://github.com/do-community/nginxconfig-vue#readme",
"dependencies": {
"@babel/runtime": "^7.9.2",
"babel-polyfill": "^6.26.0",
"do-bulma": "git+https://github.com/do-community/do-bulma.git",
"do-vue": "git+https://github.com/do-community/do-vue.git",
"parcel-bundler": "^1.12.4",
"vue": "^2.6.11",
"vue-hot-reload-api": "^2.3.3"
},
"devDependencies": {
"@babel/plugin-transform-runtime": "^7.9.0",
"@vue/component-compiler-utils": "^3.1.2",
"copyfiles": "^2.2.0",
"eslint": "^6.8.0",
"eslint-plugin-vue": "^5.2.3",
"posthtml": "^0.11.4",
"posthtml-extend": "^0.3.0",
"sass": "^1.26.3",
"sass-lint": "^1.13.1",
"vue-template-compiler": "^2.6.11"
}
}

View file

@ -0,0 +1,3 @@
import templates from './templates';
export default { templates };

View file

@ -0,0 +1,5 @@
export default {
title: 'NGINXConfig',
description: '',
oss: 'This tool is {link|open-source on GitHub|https://github.com/do-community/nginxconfig-vue} under the {link|Apache-2.0|https://github.com/do-community/nginxconfig-vue/blob/master/LICENSE} license! We welcome feedback and contributions.',
};

View file

@ -0,0 +1,3 @@
import app from './app';
export default { app };

View file

@ -0,0 +1,6 @@
import en from './en';
const lang = 'en';
const packs = { en };
export default packs[lang];

View file

@ -0,0 +1,27 @@
<!--
Copyright 2020 DigitalOcean
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<extends src="../build/base.html">
<block name="title">NGINXConfig | </block>
<block name="head">
<link rel="stylesheet" href="scss/style.scss">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css" integrity="sha256-UzFD2WYH2U1dQpKDjjZK72VtPeWP50NoJjd26rnAdUI=" crossorigin="anonymous" />
</block>
<block name="content">
<div id="app"></div>
<script src="mount.js"></script>
</block>
</extends>

27
src/nginxconfig/mount.js Normal file
View file

@ -0,0 +1,27 @@
/*
Copyright 2020 DigitalOcean
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
import 'babel-polyfill';
import Vue from 'vue';
import App from './templates/app.vue';
import i18n from './i18n';
document.head.title = i18n.templates.app.title;
new Vue({
render: h => h(App),
}).$mount('#app');

View file

@ -0,0 +1,18 @@
/*
Copyright 2020 DigitalOcean
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
$header: #0071fe;
@import "~do-bulma/src/style";

View file

@ -0,0 +1,50 @@
<!--
Copyright 2020 DigitalOcean
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<template>
<div class="all do-bulma">
<Header :title="i18n.templates.app.title">
<template v-slot:description>
{{ i18n.templates.app.description }}
</template>
<template v-slot:header>
</template>
<template v-slot:buttons>
</template>
</Header>
<Footer :text="i18n.templates.app.oss"></Footer>
</div>
</template>
<script>
import i18n from '../i18n';
import Header from 'do-vue/src/templates/header';
import Footer from 'do-vue/src/templates/footer';
export default {
name: 'App',
components: {
Header,
Footer,
},
data() {
return {
i18n,
};
},
};
</script>

2
src/static/robots.txt Normal file
View file

@ -0,0 +1,2 @@
User-agent: *
Disallow: /