diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d9a5b49..b8f2e8f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v2 with: - node-version: "20" + node-version: '20' - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/format-check.yml b/.github/workflows/format-check.yml index 2420c0a..ec36ec5 100644 --- a/.github/workflows/format-check.yml +++ b/.github/workflows/format-check.yml @@ -10,7 +10,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v2 with: - node-version: "20" + node-version: '20' - uses: pnpm/action-setup@v4 with: diff --git a/packages/plugins/src/engines/index.ts b/packages/plugins/src/engines/index.ts index ef8a062..b5f8527 100644 --- a/packages/plugins/src/engines/index.ts +++ b/packages/plugins/src/engines/index.ts @@ -1,5 +1,5 @@ -import StackOverflow from "./stackoverflow"; -import Readability from "./readability"; -import SearX from "./searx"; +import StackOverflow from './stackoverflow'; +import Readability from './readability'; +import SearX from './searx'; export { StackOverflow, Readability, SearX }; diff --git a/packages/plugins/src/engines/readability.ts b/packages/plugins/src/engines/readability.ts index 46ec255..7e74f6c 100644 --- a/packages/plugins/src/engines/readability.ts +++ b/packages/plugins/src/engines/readability.ts @@ -1,15 +1,15 @@ -import { Readability as OReadability } from "@mozilla/readability"; -import { EngineParseError } from "@txtdot/sdk/dist/types/errors"; +import { Readability as OReadability } from '@mozilla/readability'; +import { EngineParseError } from '@txtdot/sdk/dist/types/errors'; -import { Engine } from "@txtdot/sdk"; +import { Engine } from '@txtdot/sdk'; const Readability = new Engine( - "Readability", - "Engine for parsing content with Readability", - ["*"] + 'Readability', + 'Engine for parsing content with Readability', + ['*'] ); -Readability.route("*path", async (input, ro) => { +Readability.route('*path', async (input, ro) => { const reader = new OReadability(input.parseDom().window.document); const parsed = reader.parse(); diff --git a/packages/plugins/src/engines/searx.ts b/packages/plugins/src/engines/searx.ts index 41cf66e..d4fa247 100644 --- a/packages/plugins/src/engines/searx.ts +++ b/packages/plugins/src/engines/searx.ts @@ -1,8 +1,8 @@ -import { Engine } from "@txtdot/sdk"; -import { HandlerInput, Route } from "@txtdot/sdk/dist/types/handler"; +import { Engine } from '@txtdot/sdk'; +import { HandlerInput, Route } from '@txtdot/sdk/dist/types/handler'; -const SearX = new Engine("SearX", "Engine for searching with 'SearXNG'", [ - "searx.*", +const SearX = new Engine('SearX', "Engine for searching with 'SearXNG'", [ + 'searx.*', ]); async function search( @@ -11,26 +11,26 @@ async function search( ) { const document = input.parseDom().window.document; const search = ro.q.search; - const page = parseInt(ro.q.pageno || "1"); + const page = parseInt(ro.q.pageno || '1'); const page_footer = `${ page !== 1 ? `Previous |` - : "" + : '' } Next`; - const articles = Array.from(document.querySelectorAll(".result")); + const articles = Array.from(document.querySelectorAll('.result')); const articles_parsed = articles.map((a) => { const parsed = { url: - (a.getElementsByClassName("url_wrapper")[0] as HTMLAnchorElement) - .href || "", + (a.getElementsByClassName('url_wrapper')[0] as HTMLAnchorElement) + .href || '', title: - (a.getElementsByTagName("h3")[0] as HTMLHeadingElement).textContent || - "", + (a.getElementsByTagName('h3')[0] as HTMLHeadingElement).textContent || + '', content: - (a.getElementsByClassName("content")[0] as HTMLDivElement) - .textContent || "", + (a.getElementsByClassName('content')[0] as HTMLDivElement) + .textContent || '', }; return { @@ -41,8 +41,8 @@ async function search( const content = `${articles_parsed .map((a) => a.html) - .join("")}${page_footer}`; - const textContent = articles_parsed.map((a) => a.text).join(""); + .join('')}${page_footer}`; + const textContent = articles_parsed.map((a) => a.text).join(''); return { content, @@ -52,7 +52,7 @@ async function search( }; } -SearX.route("/search?q=:search&pageno=:pageno", search); -SearX.route("/search?q=:search", search); +SearX.route('/search?q=:search&pageno=:pageno', search); +SearX.route('/search?q=:search', search); export default SearX; diff --git a/packages/plugins/src/engines/stackoverflow/index.ts b/packages/plugins/src/engines/stackoverflow/index.ts index abd10af..353c1a5 100644 --- a/packages/plugins/src/engines/stackoverflow/index.ts +++ b/packages/plugins/src/engines/stackoverflow/index.ts @@ -1,23 +1,23 @@ -import { Engine } from "@txtdot/sdk"; -import questions from "./questions"; -import users from "./users"; +import { Engine } from '@txtdot/sdk'; +import questions from './questions'; +import users from './users'; const StackOverflow = new Engine( - "StackOverflow", + 'StackOverflow', "Engine for 'StackOverflow' and other 'Stack' sites. Available routes: '/questions/' and '/users/'", [ - "stackoverflow.com", - "*.stackoverflow.com", - "*.stackexchange.com", - "askubuntu.com", - "stackapps.com", - "mathoverflow.net", - "superuser.com", - "serverfault.com", + 'stackoverflow.com', + '*.stackoverflow.com', + '*.stackexchange.com', + 'askubuntu.com', + 'stackapps.com', + 'mathoverflow.net', + 'superuser.com', + 'serverfault.com', ] ); -StackOverflow.route("/questions/:id/*slug", questions); -StackOverflow.route("/users/:id/*slug", users); +StackOverflow.route('/questions/:id/*slug', questions); +StackOverflow.route('/users/:id/*slug', users); export default StackOverflow; diff --git a/packages/plugins/src/engines/stackoverflow/questions.ts b/packages/plugins/src/engines/stackoverflow/questions.ts index 8abda6d..f29ba47 100644 --- a/packages/plugins/src/engines/stackoverflow/questions.ts +++ b/packages/plugins/src/engines/stackoverflow/questions.ts @@ -1,4 +1,4 @@ -import { HandlerInput, Route } from "@txtdot/sdk/dist/types/handler"; +import { HandlerInput, Route } from '@txtdot/sdk/dist/types/handler'; async function questions( input: HandlerInput, @@ -6,17 +6,17 @@ async function questions( ) { const document = input.parseDom().window.document; - const questionEl = document.getElementById("question"); + const questionEl = document.getElementById('question'); const question = postParser(questionEl); - const title = document.querySelector(".question-hyperlink")?.innerHTML || ""; + const title = document.querySelector('.question-hyperlink')?.innerHTML || ''; - const allAnswers = [...document.querySelectorAll(".answer")]; + const allAnswers = [...document.querySelectorAll('.answer')]; const answers = allAnswers.map((a) => postParser(a)); return { content: `${question}