diff --git a/.eleventy.js b/.eleventy.js index 6c574b59..c4380adb 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -22,7 +22,7 @@ const site = require('./src/_data/site.json'); const markdownLib = require('./src/utils/markdown-lib'); module.exports = function(config) { - config.setLibrary("md", markdownLib) + config.setLibrary('md', markdownLib); // Filters config.addFilter('dateFilter', dateFilter); @@ -85,7 +85,6 @@ module.exports = function(config) { .slice(0, site.maxPostsPerPage); }); - // Plugins config.addPlugin(rssPlugin); config.addPlugin(syntaxHighlight); diff --git a/.github/workflows/build-eleventy.yml b/.github/workflows/build-eleventy.yml new file mode 100644 index 00000000..49ef1a42 --- /dev/null +++ b/.github/workflows/build-eleventy.yml @@ -0,0 +1,32 @@ +name: Build Eleventy + +on: [push] + +jobs: + build: + runs-on: ubuntu-20.04 + + strategy: + 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 }} + + - name: Install dependencies + run: | + npm ci + + - name: lint + run: | + npm run lint + + - name: build + run: | + npm run sass:process + env NODE_ENV=production npx @11ty/eleventy diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1a96fdea..0b56ed01 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,5 +1,5 @@ # This is a basic workflow to help you get started with Actions -name: Build Eleventy +name: Build Eleventy and Deploy on: push: diff --git a/package.json b/package.json index 1b12efed..c7fd5a83 100755 --- a/package.json +++ b/package.json @@ -34,6 +34,8 @@ "scripts": { "sass:tokens": "npx json-to-scss src/_data/tokens.json src/scss/_tokens.scss", "sass:process": "npm run sass:tokens && sass src/scss/global.scss src/_includes/assets/css/global.css --style=compressed", + "lint": "prettier -c '**/*.js'", + "lint:fix": "prettier --write '**/*.js'", "start": "concurrently \"npm run sass:process -- --watch\" \"npm run serve\"", "serve": "cross-env ELEVENTY_ENV=development npx eleventy --serve", "production": "npm run sass:process && npx eleventy" diff --git a/src/_includes/partials/global/service-worker.js b/src/_includes/partials/global/service-worker.js index 32b6b4d4..d41ee7d6 100644 --- a/src/_includes/partials/global/service-worker.js +++ b/src/_includes/partials/global/service-worker.js @@ -10,7 +10,7 @@ const EXCLUDED_URLS = []; const PRE_CACHE_URLS = ['/', '/fonts/Whyte/Whyte-Bold.otf']; // You might want to bypass a certain host -const IGNORED_HOSTS = ['localhost', 'unpkg.com', ]; +const IGNORED_HOSTS = ['localhost', 'unpkg.com']; /** * Takes an array of strings and puts them in a named cache store diff --git a/src/filters/date-filter-ja.js b/src/filters/date-filter-ja.js index 138159ef..3280d12f 100644 --- a/src/filters/date-filter-ja.js +++ b/src/filters/date-filter-ja.js @@ -1,5 +1,7 @@ module.exports = function dateFilterJa(value) { const dateObject = new Date(value); - return `${dateObject.getFullYear()}-${("0" + (dateObject.getMonth() + 1)).slice(-2)}-${("0" + dateObject.getDate()).slice(-2)}`; -} + return `${dateObject.getFullYear()}-${('0' + (dateObject.getMonth() + 1)).slice(-2)}-${( + '0' + dateObject.getDate() + ).slice(-2)}`; +}; diff --git a/src/filters/date-filter-pt.js b/src/filters/date-filter-pt.js index b01a1175..e5d2f5d4 100644 --- a/src/filters/date-filter-pt.js +++ b/src/filters/date-filter-pt.js @@ -2,7 +2,22 @@ module.exports = function dateFilterPt(value) { const dateObject = new Date(value); - const months = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez']; + const months = [ + 'Jan', + 'Fev', + 'Mar', + 'Abr', + 'Mai', + 'Jun', + 'Jul', + 'Ago', + 'Set', + 'Out', + 'Nov', + 'Dez' + ]; - return `${dateObject.getDate()} de ${months[dateObject.getMonth()]} de ${dateObject.getFullYear()}`; + return `${dateObject.getDate()} de ${ + months[dateObject.getMonth()] + } de ${dateObject.getFullYear()}`; }; diff --git a/src/filters/date-filter.js b/src/filters/date-filter.js index 8f761729..cf1f7bcc 100644 --- a/src/filters/date-filter.js +++ b/src/filters/date-filter.js @@ -8,7 +8,20 @@ const appendSuffix = n => { module.exports = function dateFilter(value) { const dateObject = new Date(value); - const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + const months = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec' + ]; const dayWithSuffix = appendSuffix(dateObject.getDate()); return `${dayWithSuffix} ${months[dateObject.getMonth()]}, ${dateObject.getFullYear()}`; diff --git a/src/filters/extract-excerpt-filter.js b/src/filters/extract-excerpt-filter.js index e3361b4c..f09aafea 100644 --- a/src/filters/extract-excerpt-filter.js +++ b/src/filters/extract-excerpt-filter.js @@ -1,12 +1,12 @@ -const striptags = require("striptags"); +const striptags = require('striptags'); module.exports = function extractExcerptFilter(value) { let excerpt = null; excerpt = striptags(value) .substring(0, 200) // Cap at 200 characters - .replace(/^\\s+|\\s+$|\\s+(?=\\s)/g, "") + .replace(/^\\s+|\\s+$|\\s+(?=\\s)/g, '') .trim() - .concat("..."); + .concat('...'); return excerpt; -} \ No newline at end of file +}; diff --git a/src/filters/lang-item-filter.js b/src/filters/lang-item-filter.js index 2f3703e5..7a9a74e4 100644 --- a/src/filters/lang-item-filter.js +++ b/src/filters/lang-item-filter.js @@ -1,3 +1,3 @@ module.exports = function localeItemFilter(items, locale) { - return items.filter(item => item.data.locale === locale) + return items.filter(item => item.data.locale === locale); }; diff --git a/src/transforms/parse-transform.js b/src/transforms/parse-transform.js index 83cd668c..168e3077 100644 --- a/src/transforms/parse-transform.js +++ b/src/transforms/parse-transform.js @@ -22,12 +22,12 @@ module.exports = function(value, outputPath) { image.setAttribute('loading', 'lazy'); const file = image.getAttribute('src'); - + if (file.indexOf('http') < 0) { const dimensions = getSize('src' + file); - + image.setAttribute('width', dimensions.width); - image.setAttribute('height', dimensions.height);; + image.setAttribute('height', dimensions.height); } // If an image has a title it means that the user added a caption diff --git a/src/utils/markdown-lib.js b/src/utils/markdown-lib.js index d1976463..b1030bf8 100644 --- a/src/utils/markdown-lib.js +++ b/src/utils/markdown-lib.js @@ -11,4 +11,4 @@ module.exports = markdownIt.use(mila, { target: '_blank', rel: 'noopener' } -}) \ No newline at end of file +});