From d81d4e9186fca436a2a55a4ee366b2de7fdd02f1 Mon Sep 17 00:00:00 2001
From: Axel Forsman
Date: Tue, 15 Sep 2020 09:55:49 +0200
Subject: Add GitHub Pages frontend
---
.github/workflows/build.yml | 12 +++++++-
.gitignore | 2 ++
dist/index.html | 68 +++++++++++++++++++++++++++++++++++++++++++++
package.json | 22 +++++++++++++++
src/index.js | 17 ++++++++++++
webpack.config.js | 23 +++++++++++++++
6 files changed, 143 insertions(+), 1 deletion(-)
create mode 100644 .gitignore
create mode 100644 dist/index.html
create mode 100644 package.json
create mode 100644 src/index.js
create mode 100644 webpack.config.js
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 2f8f8fa..01afe77 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,4 +1,4 @@
-name: build
+name: Build and deploy
on:
push:
@@ -21,3 +21,13 @@ jobs:
uses: actions/upload-artifact@v2
with:
path: tag-versions
+
+ - name: Build frontend
+ run: |
+ npm install
+ npm run build
+ - name: Deploy to Github Pages
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./dist
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8225baa
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/node_modules
+/dist
diff --git a/dist/index.html b/dist/index.html
new file mode 100644
index 0000000..1d8d93c
--- /dev/null
+++ b/dist/index.html
@@ -0,0 +1,68 @@
+
+
+
+ Vim help tag versions
+
+
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..dd88d63
--- /dev/null
+++ b/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "vim-helptag-versions",
+ "version": "1.0.0",
+ "description": "Index of what Vim version introduced what help tag",
+ "repository": "git@github.com:axelf4/vim-helptag-versions.git",
+ "author": "Axel Forsman ",
+ "license": "MIT",
+ "private": true,
+ "scripts": {
+ "start": "webpack-dev-server --open",
+ "build": "webpack"
+ },
+ "devDependencies": {
+ "csv-loader": "^3.0.3",
+ "webpack": "^4.44.1",
+ "webpack-cli": "^3.3.12",
+ "webpack-dev-server": "^3.11.0"
+ },
+ "dependencies": {
+ "fuzzysort": "^1.1.4"
+ }
+}
diff --git a/src/index.js b/src/index.js
new file mode 100644
index 0000000..6562fca
--- /dev/null
+++ b/src/index.js
@@ -0,0 +1,17 @@
+import fuzzysort from "fuzzysort";
+import data from "../tag-versions";
+
+const tagVersions = data.map(([version, helpTag]) => ({version, helpTag}));
+const input = document.getElementById("input"),
+ results = document.getElementById("results");
+
+function render() {
+ results.innerHTML = fuzzysort.go(input.value, tagVersions, {
+ key: 'helpTag',
+ limit: 50,
+ })
+ .map(result => `| ${fuzzysort.highlight(result)} | ${result.obj.version} |
`)
+ .join("");
+}
+render();
+input.addEventListener("input", render);
diff --git a/webpack.config.js b/webpack.config.js
new file mode 100644
index 0000000..dfb07f4
--- /dev/null
+++ b/webpack.config.js
@@ -0,0 +1,23 @@
+const path = require('path');
+
+module.exports = {
+ entry: './src/index.js',
+ output: {
+ filename: 'bundle.js',
+ path: path.resolve(__dirname, 'dist'),
+ },
+ devServer: {
+ contentBase: './dist',
+ },
+ module: {
+ rules: [
+ {
+ test: path.resolve(__dirname, 'tag-versions'),
+ loader: 'csv-loader',
+ options: {
+ delimiter: '\t', newline: '\n',
+ }
+ },
+ ],
+ },
+};
--
cgit v1.2.3