Add eslint and fix bullet lists
This commit is contained in:
22
eslint.config.ts
Normal file
22
eslint.config.ts
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
import js from "@eslint/js";
|
||||||
|
import globals from "globals";
|
||||||
|
import tseslint from "typescript-eslint";
|
||||||
|
import { defineConfig } from "eslint/config";
|
||||||
|
|
||||||
|
export default defineConfig([
|
||||||
|
{
|
||||||
|
files:
|
||||||
|
["**/*.{js,mjs,cjs,ts,mts,cts}"],
|
||||||
|
plugins: {
|
||||||
|
js
|
||||||
|
},
|
||||||
|
extends: ["js/recommended"],
|
||||||
|
languageOptions: {
|
||||||
|
globals: globals.browser
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
"indent": ["error", "tab"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tseslint.configs.recommended,
|
||||||
|
]);
|
||||||
1405
package-lock.json
generated
1405
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -19,10 +19,14 @@
|
|||||||
"author": "Wholteza (Zackarias Montell)",
|
"author": "Wholteza (Zackarias Montell)",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@eslint/js": "^10.0.1",
|
||||||
"@types/node": "^20.11.5",
|
"@types/node": "^20.11.5",
|
||||||
"browser-sync": "^3.0.4",
|
"browser-sync": "^3.0.4",
|
||||||
"concurrently": "^8.2.1",
|
"concurrently": "^8.2.1",
|
||||||
|
"eslint": "^10.0.3",
|
||||||
|
"globals": "^17.4.0",
|
||||||
"nodemon": "^3.0.1",
|
"nodemon": "^3.0.1",
|
||||||
"typescript": "^5.3.3"
|
"typescript": "^5.3.3",
|
||||||
|
"typescript-eslint": "^8.57.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -166,6 +166,7 @@ class Paragraph extends Symbol {
|
|||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
static canParse(line: string): boolean {
|
static canParse(line: string): boolean {
|
||||||
|
return false;
|
||||||
return line === "";
|
return line === "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,7 +212,11 @@ class UnorderedListItem extends Symbol {
|
|||||||
/**
|
/**
|
||||||
* @type {string}
|
* @type {string}
|
||||||
*/
|
*/
|
||||||
text: string = "";
|
innerHtml: string = "";
|
||||||
|
/**
|
||||||
|
* @type {string}
|
||||||
|
*/
|
||||||
|
innerMarkdown: string = "";
|
||||||
/**
|
/**
|
||||||
* @type {number}
|
* @type {number}
|
||||||
*/
|
*/
|
||||||
@@ -233,7 +238,7 @@ class UnorderedListItem extends Symbol {
|
|||||||
static create(lineFeed: LineFeed): Symbol {
|
static create(lineFeed: LineFeed): Symbol {
|
||||||
const instance = new UnorderedListItem();
|
const instance = new UnorderedListItem();
|
||||||
const line = lineFeed.claim();
|
const line = lineFeed.claim();
|
||||||
instance.text = line.replaceAll("-", "").trim();
|
instance.innerMarkdown = line.replace("-", "").trim();
|
||||||
instance.level = getAmountOfTokenInBeginningOfFile(" ", line);
|
instance.level = getAmountOfTokenInBeginningOfFile(" ", line);
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
@@ -244,11 +249,12 @@ class UnorderedListItem extends Symbol {
|
|||||||
* @returns {void}
|
* @returns {void}
|
||||||
*/
|
*/
|
||||||
process(assetDirectory: string): void {
|
process(assetDirectory: string): void {
|
||||||
return;
|
if (this.innerMarkdown.length === 0) return;
|
||||||
|
this.innerHtml = toHtml(this.innerMarkdown, assetDirectory)
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return `<li class="indent-${this.level}">${this.text} indentation level ${this.level}</li>`;
|
return `<li class="indent-${this.level}">${this.innerHtml}</li>`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -276,7 +282,7 @@ class OrderedListItem extends Symbol {
|
|||||||
* @returns {Symbol}
|
* @returns {Symbol}
|
||||||
*/
|
*/
|
||||||
static create(lineFeed: LineFeed): Symbol {
|
static create(lineFeed: LineFeed): Symbol {
|
||||||
const instance = new UnorderedListItem();
|
const instance = new OrderedListItem();
|
||||||
const line = lineFeed.claim();
|
const line = lineFeed.claim();
|
||||||
instance.text = line.trim().replace(/^\d\. /, "");
|
instance.text = line.trim().replace(/^\d\. /, "");
|
||||||
instance.level = getAmountOfTokenInBeginningOfFile(" ", line);
|
instance.level = getAmountOfTokenInBeginningOfFile(" ", line);
|
||||||
@@ -636,7 +642,7 @@ class MultiLineCode extends Symbol {
|
|||||||
}
|
}
|
||||||
const lines = [lineWithoutStartTag];
|
const lines = [lineWithoutStartTag];
|
||||||
|
|
||||||
let endTokenFound = false;
|
const endTokenFound = false;
|
||||||
while (!endTokenFound && !lineFeed.isEmpty()) {
|
while (!endTokenFound && !lineFeed.isEmpty()) {
|
||||||
const nextLine = lineFeed.claim();
|
const nextLine = lineFeed.claim();
|
||||||
if (!nextLine.includes("```")) {
|
if (!nextLine.includes("```")) {
|
||||||
@@ -890,18 +896,21 @@ const AllSymbols: (typeof Symbol)[] = [
|
|||||||
export const toHtml = (markdown: string, assetDirectory: string): string => {
|
export const toHtml = (markdown: string, assetDirectory: string): string => {
|
||||||
// Stage one, markdown to symbols
|
// Stage one, markdown to symbols
|
||||||
const symbols = toSymbols(markdown, assetDirectory);
|
const symbols = toSymbols(markdown, assetDirectory);
|
||||||
|
console.log(symbols)
|
||||||
|
|
||||||
// Stage two, expanding symbols
|
// Stage two, expanding symbols
|
||||||
symbols.forEach((s) => s.process(assetDirectory));
|
symbols.forEach((s) => s.process(assetDirectory));
|
||||||
|
console.log(symbols)
|
||||||
|
|
||||||
// Stage three, operations based on symbol relationship
|
// Stage three, operations based on symbol relationship
|
||||||
const stageThree = stageThreeProcessing(symbols);
|
const stageThree = stageThreeProcessing(symbols);
|
||||||
// Stage four, rendering
|
// Stage four, rendering
|
||||||
const html = stageThree
|
const html = stageThree
|
||||||
// .filter((s) => !(s instanceof JustALineBreak))
|
//.filter((s) => !(s instanceof JustALineBreak))
|
||||||
.map((s) => s.render())
|
.map((s) => s.render())
|
||||||
.join("");
|
.join("");
|
||||||
return `<div class="content">${html}</div>`;
|
|
||||||
|
return html;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -919,6 +928,10 @@ const stageThreeProcessing = (symbols: Symbol[]): Symbol[] => {
|
|||||||
const subEndIndex = localSymbols
|
const subEndIndex = localSymbols
|
||||||
.slice(startIndex + 1)
|
.slice(startIndex + 1)
|
||||||
.findIndex((s) => s instanceof JustALineBreak);
|
.findIndex((s) => s instanceof JustALineBreak);
|
||||||
|
if (subEndIndex === -1) {
|
||||||
|
localSymbols.splice(startIndex);
|
||||||
|
break;
|
||||||
|
}
|
||||||
const endIndex =
|
const endIndex =
|
||||||
subEndIndex === -1
|
subEndIndex === -1
|
||||||
? localSymbols.length - 1
|
? localSymbols.length - 1
|
||||||
|
|||||||
@@ -11,6 +11,28 @@
|
|||||||
|
|
||||||
--space-base: 1rem;
|
--space-base: 1rem;
|
||||||
}
|
}
|
||||||
|
.indent-0 {
|
||||||
|
margin-left: 1rem;
|
||||||
|
}
|
||||||
|
.indent-1 {
|
||||||
|
margin-left: 2rem;
|
||||||
|
}
|
||||||
|
.indent-2 {
|
||||||
|
margin-left: 3rem;
|
||||||
|
}
|
||||||
|
.indent-3 {
|
||||||
|
margin-left: 4rem;
|
||||||
|
}
|
||||||
|
.indent-4 {
|
||||||
|
margin-left: 5rem;
|
||||||
|
}
|
||||||
|
.indent-5 {
|
||||||
|
margin-left: 6rem;
|
||||||
|
}
|
||||||
|
.indent-6 {
|
||||||
|
margin-left: 7rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.banner {
|
.banner {
|
||||||
margin-top: 1rem;
|
margin-top: 1rem;
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ require('todo-comments').setup({
|
|||||||
})
|
})
|
||||||
|
|
||||||
```
|
```
|
||||||
[vim.pack.add()](https://neovim.io/doc/user/pack/#vim.pack.add())
|
[Neovim pack](https://neovim.io/doc/user/pack)
|
||||||
|
|
||||||
I wiped my current 0.11 configuration and started fresh with this new package manger. I try to keep it lean to reduce startup time, but i do work in a couple of different environments so language support is vital. [This is what i ended up with so far](https://git.zacke.dev/wholteza/dotfiles/src/commit/2b2ce07edc5e8eb5b9e4cffc234abe4cdc8512f6/.config/nvim/init.lua):
|
I wiped my current 0.11 configuration and started fresh with this new package manger. I try to keep it lean to reduce startup time, but i do work in a couple of different environments so language support is vital. [This is what i ended up with so far](https://git.zacke.dev/wholteza/dotfiles/src/commit/2b2ce07edc5e8eb5b9e4cffc234abe4cdc8512f6/.config/nvim/init.lua):
|
||||||
|
|
||||||
|
|||||||
@@ -102,7 +102,7 @@
|
|||||||
<div class="name"><a href="/">Zackarias Montell</a></div>
|
<div class="name"><a href="/">Zackarias Montell</a></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{markdown}}
|
<div class="content">{{markdown}}</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user