diff --git a/.eslintrc.js b/.eslintrc.js
index 8d01eba..2fbd828 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,31 +1,31 @@
module.exports = {
- "env": {
- "browser": true,
- "node": true
- },
- "extends": [
- "airbnb-base",
- "plugin:import/errors",
- "plugin:import/warnings",
- "prettier",
- ],
- "plugins": [
- "import",
- "prettier",
- ],
- "rules": {
- "import/order": ["error", {
- "groups": ["builtin", "external", "parent", "sibling", "index"],
- "newlines-between": "never"
- }],
- "no-console": 0,
- "prefer-template": 2,
- "prettier/prettier": [
- "error",
- {
- "singleQuote": true,
- "trailingComma": "all",
- }
- ]
+ env: {
+ browser: true,
+ node: true
+ },
+ extends: [
+ 'airbnb-base',
+ 'plugin:import/errors',
+ 'plugin:import/warnings',
+ 'prettier'
+ ],
+ plugins: ['import', 'prettier'],
+ rules: {
+ 'import/order': [
+ 'error',
+ {
+ groups: ['builtin', 'external', 'parent', 'sibling', 'index'],
+ 'newlines-between': 'never'
}
-};
\ No newline at end of file
+ ],
+ 'no-console': 0,
+ 'prefer-template': 2,
+ 'prettier/prettier': [
+ 'error',
+ {
+ singleQuote: true,
+ trailingComma: 'all'
+ }
+ ]
+ }
+};
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..0d18603
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,5 @@
+{
+ "semi": true,
+ "trailingComma": "all",
+ "singleQuote": true
+}
\ No newline at end of file
diff --git a/build.js b/build.js
index 6444506..ba83930 100644
--- a/build.js
+++ b/build.js
@@ -1,7 +1,5 @@
const fs = require('fs-extra');
-const fetch = require('node-fetch');
const cheerio = require('cheerio');
-const dayjs = require('dayjs');
const showdown = require('showdown');
const Parcel = require('parcel-bundler');
const sm = require('sitemap');
@@ -24,26 +22,8 @@ process.on('unhandledRejection', handleFailure);
// --- FILES
const README = 'README.md';
const WEBSITE_FOLDER = 'website';
-const DATA_FOLDER = 'data';
-const LATEST_FILENAME = `${DATA_FOLDER}/latest`;
-const MAPPING = `${DATA_FOLDER}/mapping.json`;
-const CATEGORY = `${DATA_FOLDER}/category.json`;
const indexTemplate = `${WEBSITE_FOLDER}/index.tmpl.html`;
const indexDestination = `${WEBSITE_FOLDER}/index.html`;
-const tableTemplate = `${WEBSITE_FOLDER}/table.tmpl.html`;
-const tableDestination = `${WEBSITE_FOLDER}/table.html`;
-
-// --- CONFIG
-const valueNames = [
- 'name',
- 'description',
- 'homepage',
- 'star',
- 'updated',
- 'language',
- 'license',
- 'author',
-];
const sitemapOpts = {
hostname: 'https://awesome-docker.netlify.com/',
@@ -56,177 +36,9 @@ const sitemapOpts = {
lastmodrealtime: true,
lastmodfile: 'dist/index.html',
},
- {
- url: '/table.html',
- changefreq: 'daily',
- priority: 0.8,
- lastmodrealtime: true,
- lastmodfile: 'dist/table.html',
- },
],
};
-// --- FORMAT
-const loadEmoji = () =>
- fetch('https://api.github.com/emojis')
- .then(r => r.json())
- .catch(handleFailure);
-
-let emojiMapURL = {};
-
-const emojify = text => {
- if (!text) return text;
- const colonWrapped = /(:[\w\-+]+:)/g;
- const result = text.replace(colonWrapped, match => {
- const name = match.replace(/:/g, '');
- const url = emojiMapURL[name];
- return url ? `` : match;
- });
- return result || text;
-};
-
-const getLastUpdate = updated => {
- const updt = Number(dayjs(updated).diff(dayjs(), 'days'));
- if (updt < 0) {
- if (Math.abs(updt) === 1) return `1 day ago`;
- return `${Math.abs(updt)} days ago`;
- } else if (updt === 0) return 'today';
- return updated;
-};
-
-const mapHomePage = h => {
- if (h === 'manageiq.org') return 'https://manageiq.org';
- else if (h === 'dev-sec.io') return 'https://dev-sec.io';
- return h;
-};
-
-const mapLicense = l => {
- if (l === 'GNU Lesser General Public License v3.0') return 'GNU LGPL v3.0';
- else if (l === 'GNU General Public License v2.0') return 'GNU GPL v2.0';
- else if (l === 'GNU General Public License v3.0') return 'GNU GPL v3.0';
- else if (l === 'BSD 3-Clause "New" or "Revised" License')
- return 'BSD 3-Clause';
- else if (l === 'BSD 2-Clause "Simplified" License') return 'BSD 2-Clause';
- return l;
-};
-
-const formatEntry = (
- {
- name,
- html_url: repoURL,
- description,
- homepage,
- stargazers_count: stargazers,
- pushed_at: updated,
- language,
- license,
- owner,
- categoryName,
- },
- i,
-) =>
- [
- `
${emojify(description) || '-'}
`, - ` `, - (homepage && - `website`) || - '', - ` `, - (language && `${language}
`) || '', - (license && - license.url !== null && - `${mapLicense( - license.name, - )}`) || - '', - `${categoryName}
`, - owner && - `${ - owner.login - }`, - 'Sort by
${buttonHTLM}