Skip to content

Commit

Permalink
Merge branch 'develop' into v1
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew Welch committed Mar 12, 2022
2 parents fb816e1 + 65c9ac6 commit fa5246e
Show file tree
Hide file tree
Showing 17 changed files with 2,291 additions and 9,371 deletions.
16 changes: 16 additions & 0 deletions .gitattributes
@@ -0,0 +1,16 @@
# Do not export those files in the Composer archive (lighter dependency)
/.craftplugin export-ignore
/.gitattributes export-ignore
/.github/ export-ignore
/.gitignore export-ignore
/.scrutinizer.yml export-ignore
/codeception.yml export-ignore
/composer.lock export-ignore
/buildchain/ export-ignore
/docs/ export-ignore
/src/web/assets/public/
/src/web/assets/src/
/tests/ export-ignore

# Auto detect text files and perform LF normalization
* text=auto
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
@@ -0,0 +1 @@
* @khalwat
44 changes: 44 additions & 0 deletions .github/workflows/build-and-deploy-docs.yml
@@ -0,0 +1,44 @@
name: Build and Deploy Docs
env:
DOCS_DEST_DIR: /empty-coalesce/
on:
push:
branches:
- v1
paths:
- 'docs/**'
pull_request:
branches:
- v1
paths:
- 'docs/**'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./docs
strategy:
fail-fast: true
matrix:
node-version: [ 14.x ]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm run docs:build
- run: cp -vr docs/.vitepress/dist $GITHUB_WORKSPACE
- name: rsync deployments
uses: burnett01/rsync-deployments@4.1
with:
switches: -avzr --delete
path: ./dist/
remote_path: ${{ secrets.NYS_DOCS_ROOT }}${{ env.DOCS_DEST_DIR }}
remote_host: ${{ secrets.NYS_DEPLOY_REMOTE_HOST }}
remote_port: ${{ secrets.NYS_DEPLOY_REMOTE_PORT }}
remote_user: ${{ secrets.NYS_DEPLOY_REMOTE_USER }}
remote_key: ${{ secrets.NYS_DEPLOY_PRIVATE_KEY }}
8 changes: 8 additions & 0 deletions docs/.textlint.terms.json
@@ -0,0 +1,8 @@
[
"Stylus",
"VuePress",
[
"front[- ]matter",
"frontmatter"
]
]
23 changes: 23 additions & 0 deletions docs/.textlintrc.js
@@ -0,0 +1,23 @@
module.exports = {
rules: {
'@textlint-rule/no-unmatched-pair': true,
apostrophe: true,
'common-misspellings': true,
diacritics: true,
'en-capitalization': {
allowHeading: false
},
'stop-words': {
severity: 'warning'
},
terminology: {
terms: `${__dirname}/.textlint.terms.json`
},
'write-good': {
severity: 'warning'
}
},
filters: {
comments: true
}
}
8 changes: 8 additions & 0 deletions docs/Dockerfile
@@ -0,0 +1,8 @@
ARG TAG=14-alpine
FROM nystudio107/node-dev-base:$TAG

WORKDIR /app/

CMD ["run build"]

ENTRYPOINT ["npm"]
45 changes: 45 additions & 0 deletions docs/Makefile
@@ -0,0 +1,45 @@
TAG?=14-alpine
CONTAINER?=$(shell basename $(dir $(CURDIR)))-docs
DOCKERRUN=docker container run \
--name ${CONTAINER} \
--rm \
-p 3002:3002 \
-t \
-v `pwd`:/app \
${CONTAINER}:${TAG}
DOCSDEST?=../../../sites/nystudio107/web/docs/recipe

.PHONY: docker build dev fix install lint clean npm

docker:
docker build \
. \
-t ${CONTAINER}:${TAG} \
--build-arg TAG=${TAG} \
--no-cache
build: clean docker install
${DOCKERRUN} \
run docs:build
rm -rf ${DOCSDEST}
mv ./docs/.vitepress/dist ${DOCSDEST}
dev: docker install
${DOCKERRUN} \
run docs:dev
fix: docker install
${DOCKERRUN} \
run docs:fix
install: docker
${DOCKERRUN} \
install
lint: docker install
${DOCKERRUN} \
run docs:lint
clean: docker
rm -rf node_modules/
rm -f package-lock.json
npm: docker
${DOCKERRUN} \
$(filter-out $@,$(MAKECMDGOALS))
%:
@:
# ref: https://stackoverflow.com/questions/6273608/how-to-pass-argument-to-makefile-from-command-line
26 changes: 26 additions & 0 deletions docs/docs/.vitepress/config.js
@@ -0,0 +1,26 @@
module.exports = {
title: 'Empty Coalesce Plugin Documentation',
description: 'Documentation for the Empty Coalesce plugin',
base: '/docs/empty-coalesce/',
lang: 'en-US',
head: [
['meta', {content: 'https://github.com/nystudio107', property: 'og:see_also',}],
['meta', {content: 'https://twitter.com/nystudio107', property: 'og:see_also',}],
['meta', {content: 'https://youtube.com/nystudio107', property: 'og:see_also',}],
['meta', {content: 'https://www.facebook.com/newyorkstudio107', property: 'og:see_also',}],
],
themeConfig: {
repo: 'nystudio107/craft-emptycoalesce',
docsDir: 'docs/docs',
docsBranch: 'v1',
algolia: {
appId: '',
apiKey: '',
indexName: ''
},
editLinks: true,
editLinkText: 'Edit this page on GitHub',
lastUpdated: 'Last Updated',
sidebar: 'auto',
},
};
37 changes: 37 additions & 0 deletions docs/docs/.vitepress/theme/SidebarBottom.vue
@@ -0,0 +1,37 @@
<template>
<div class="nys-footer">
<span>Brought to you by:</span>
<a
href="https://github.com/sponsors/khalwat"
target="_blank"
rel="noopener"
>
<img
src="/resources/img/nys-logo.svg"
aria-label="nystudio107 logo"
/>
</a>
</div>
</template>

<script>
export default {
name: "SidebarBottom"
}
</script>

<style scoped>
.nys-footer {
padding: 0 1.5rem 2rem;
font-size: 0.8rem;
}
.nys-footer img {
box-sizing: border-box;
max-width: 200px;
height: 80px;
display: block;
margin: 1rem 0;
padding-left: 0.7rem;
}
</style>
12 changes: 12 additions & 0 deletions docs/docs/.vitepress/theme/custom.css
@@ -0,0 +1,12 @@
:root {
--c-brand: #48a391;
--c-brand-light: #5db7a5;
}

.custom-block.tip {
border-color: var(--c-brand-light);
}

.DocSearch {
--docsearch-primary-color: var(--c-brand) !important;
}
42 changes: 42 additions & 0 deletions docs/docs/.vitepress/theme/index.js
@@ -0,0 +1,42 @@
import Theme from 'vitepress/theme'
import {h, watch} from 'vue'
import './custom.css'

import SidebarBottom from './SidebarBottom.vue';

// Could also come from .env
const GA_ID = 'UA-69117511-1';

export default {
...Theme,
Layout() {
return h(Theme.Layout, null, {
'sidebar-bottom': () => h(SidebarBottom)
}
)
},
enhanceApp: (ctx) => {
// Google analytics integration
if (import.meta.env.PROD && GA_ID && typeof window !== 'undefined') {
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}
i[r].l = 1 * new Date()
a = s.createElement(o)
m = s.getElementsByTagName(o)[0]
a.async = 1
a.src = g
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga')
ga('create', GA_ID, 'auto')
ga('set', 'anonymizeIp', true)
// Send a page view any time the route changes
watch(ctx.router.route, (newValue, oldValue) => {
ga('set', 'page', newValue.path)
ga('send', 'pageview')
})
}
}
}
11 changes: 0 additions & 11 deletions docs/docs/.vuepress/config.js

This file was deleted.

File renamed without changes.
1 change: 1 addition & 0 deletions docs/docs/resources/img/nys-logo.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions docs/docs/vite.config.js
@@ -0,0 +1,26 @@
import { defineConfig } from 'vite'
import SitemapPlugin from 'rollup-plugin-sitemap'
import VitePressConfig from './.vitepress/config.js'

const docsSiteBaseUrl = 'https://nystudio107.com'
const docsBaseUrl = new URL(VitePressConfig.base, docsSiteBaseUrl).href.replace(/\/$/, '') + '/'
const siteMapRoutes = [{
path: '',
name: VitePressConfig.title
}]

// https://vitejs.dev/config/
export default defineConfig({
plugins: [
SitemapPlugin({
baseUrl: docsBaseUrl,
contentBase: './docs/.vitepress/dist',
routes: siteMapRoutes,
})
],
server: {
host: '0.0.0.0',
port: 3002,
strictPort: true,
}
});

0 comments on commit fa5246e

Please sign in to comment.