docsQL - Getting an overview over your Markdown file in your Jamstack site

Overview

docsQL

Getting an overview of your Jamstack Markdown files.

Demo

Play with: https://peterbe.github.io/docsql/

You're supposed to run docsQL with your own projects Markdown files. This demo uses a subset of the content behind GitHub Docs.

How it works

You give the CLI program one or more directories that contain Markdown files. Most of the time it's just one directory; where your jamstack website files are.

Each file is opened and the front-matter becomes the key-value pairs that you can later query. I.e. if you have a front-matter key called title you'll be able to query SELECT title FROM ? WHERE title ILIKE "%peterbe%". The content is not included in the database. That would make the searchable database too big.

Additionally, plugins are executed for each file. There are built-in plugins and there are plugins you write and point to yourself. One of the built-in plugins is called commonheadings.mjs and it counts the number of ## and ### rows there are in the content so you can query SELECT h2s, h3s, h2s+h3s AS combined FROM ? ORDER BY 3 DESC.

To specify your own plugins for your particular project, see the section on "Plugins".

Getting started

npx docsql /path/to/my/project/with/lots/of/markdown/files

Getting start (after git clone)

export CONTENT_SOURCES=/path/to/my/project/with/lots/of/markdown/files
npm run run

Getting Started (for local development)

echo CONTENT_SOURCES=/path/to/my/project/with/lots/of/markdown/files >> .env
npm run dev

Plugins

The built-in plugins are can be found in the source code (TODO: add link). These are hopefully generic enough and useful enough for most people.

To write your own plugin, you create a .mjs file. Your .mjs files just need to export a default function that returns an object. Best demonstrated with an example:

  1. Create a folder called my-docsql-plugins.
  2. Create the file my-docsql-plugins/chocolate-icecream-mentions.mjs
  3. Enter something like this:
const regex = /💩/g;
export default function countCocoIceMentions({ data, content }) {
  const inTitle = (data.title.match(regex) || []).length;
  const inBody = (content.match(regex) || []).length;
  return {
    chocolateIcecreamMentions: inTitle + inBody,
  };
}

The name of the function isn't important. You could have used export default function whatever(. What is important is that you get a context object that contains the keys data and content. And it's important you return an object with keys and values that make sense to search on. You can even return a namespace which you can search on as if it was JSON.

Now start the CLI with --plugins my-docsql-plugins and your new plugin will be included. Once the server starts, you can click "Open help" in the web interface and expect to see it mentioned there. With this, you can now run:

SELECT _file, chocolateIcecreamMentions FROM ? WHERE chocolateIcecreamMentions > 0

Instead of passing --plugins my-plugins --plugins /my/other/custom-plugins you can equally set the environment variable:

# Example of setting plugins directories
DOCSQL_PLUGINS="myplugins, /my/other/custom-plugins"

Important custom plugin key ending in _url

Here's an example plugin that speaks for itself:

// In /path/to/my/custom/plugins

export default function getURL({ _file }) {
  const pathname = _file.replace(/\.md$/, '')
  return {
    _url: `https://example.com/${pathname}`,
    local_url: `http://localhost:4000/${pathname}`,
  }
}

Because the keys end with _url these are treated as external hyperlinks in the UI when queried. For example:

SELECT _url, local_url FROM ? ORDER BY RANDOM() LIMIT 10

Suppose that your URLs depend on something from the front-matter of each document, here's an example:

// In /path/to/my/custom/plugins

export default function getURL({ data: {slug} }) {
  return {
    _url: `https://example.com/en/${slug}`,
  }
}

Share plugins with your team

At the moment, the best way is that one of you writes some plugins that suites your content. Once that works well, you can either zip up that directory and share with your team. Or, you can simply create a git repo and put them in there.

Caveats on plugins

  • They don't self-document. Yet. It would be nice if you could include a string of text from within your plugin code that shows up in the "Help" section.
  • The order matters for overriding. There's a built-in plugin called wordcount.mjs which is really basic. If you don't like it, write your own plugin that returns a key called wordCount and it will override the built-in computation.
  • Debugging bad plugins is a bit rough but an error thrown is stopping the CLI and the stacktrace should be sufficiently clear.

Open found files in your editor

If you have an environment variable called EDITOR set, and you make a query that includes the key _file it will make that a clickable link, which when running on localhost will open that file on your computer.

A lot of systems have a default $EDITOR which might be something terminal based, like nano. If you, for example, what your files to open in VS Code you can set:

echo EDITOR=code >> .env

Screenshots (as of Mar 2022)

Simple query Basic query

Saved queries Saved queries

Open help Open help

Example queries help you learn Example queries

Pre- pretty format Pre- pretty format

Post- pretty format Post- pretty format

Less trivial query Less trivial query

URLs become clickable links URLs become clickable links

Dark mode Dark mode

Export by downloading Download

Downloaded JSON file Downloaded JSON file

Downloaded CSV file Downloaded CSV file

Click to open in your local editor (only when running on localhost) Click to open

Automatically opened in VS Code (only when running on localhost) Opened in VS Code

Write your own plugins (to generate columns) Sample plugin code

Icon

Icon by Yannick Lung

Comments
  • Bump @mantine/next from 5.8.3 to 5.8.4

    Bump @mantine/next from 5.8.3 to 5.8.4

    Bumps @mantine/next from 5.8.3 to 5.8.4.

    Release notes

    Sourced from @​mantine/next's releases.

    5.8.4

    What's Changed

    • [@mantine/tiptap] Fix emotion warning produced by placeholder styles :first-child selector usage
    • [@mantine/hooks] use-move: Fix content on the page being selected when cursor moves over the target element (#3069)
    • [@mantine/core] Drawer: Add missing Styles API selector for body (#3056)
    • [@mantine/carousel] Carousel: fixed carousel indicator not changing when slidesToScroll value is changed (#3058)
    • [@mantine/core] Stepper: Fix last item being cut off when used inside flex container (#3062)
    • [@mantine/core] Fix incorrect arrow position for *-end and *-start positions in Tooltip, Popover, HoverCard and Menu components (#3065)
    • [@mantine/tiptap] Add ref forwarding (#3068)

    Full Changelog: https://github.com/mantinedev/mantine/compare/5.8.3...5.8.4

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @peterbe.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 6
  • Bump react, react-dom and @types/react

    Bump react, react-dom and @types/react

    Bumps react, react-dom and @types/react. These dependencies needed to be updated together. Updates react from 17.0.2 to 18.2.0

    Release notes

    Sourced from react's releases.

    18.2.0 (June 14, 2022)

    React DOM

    React DOM Server

    • Pass information about server errors to the client. (@​salazarm and @​gnoff in #24551 and #24591)
    • Allow to provide a reason when aborting the HTML stream. (@​gnoff in #24680)
    • Eliminate extraneous text separators in the HTML where possible. (@​gnoff in #24630)
    • Disallow complex children inside <title> elements to match the browser constraints. (@​gnoff in #24679)
    • Fix buffering in some worker environments by explicitly setting highWaterMark to 0. (@​jplhomer in #24641)

    Server Components (Experimental)

    18.1.0 (April 26, 2022)

    React DOM

    React DOM Server

    • Fix escaping for the bootstrapScriptContent contents. (@​gnoff in #24385)
    • Significantly improve performance of renderToPipeableStream. (@​gnoff in #24291)

    ESLint Plugin: React Hooks

    Use Subscription

    • Replace the implementation with the use-sync-external-store shim. (@​gaearon in #24289)

    18.0.0 (March 29, 2022)

    ... (truncated)

    Changelog

    Sourced from react's changelog.

    18.2.0 (June 14, 2022)

    React DOM

    React DOM Server

    • Pass information about server errors to the client. (@​salazarm and @​gnoff in #24551 and #24591)
    • Allow to provide a reason when aborting the HTML stream. (@​gnoff in #24680)
    • Eliminate extraneous text separators in the HTML where possible. (@​gnoff in #24630)
    • Disallow complex children inside <title> elements to match the browser constraints. (@​gnoff in #24679)
    • Fix buffering in some worker environments by explicitly setting highWaterMark to 0. (@​jplhomer in #24641)

    Server Components (Experimental)

    18.1.0 (April 26, 2022)

    React DOM

    React DOM Server

    • Fix escaping for the bootstrapScriptContent contents. (@​gnoff in #24385)
    • Significantly improve performance of renderToPipeableStream. (@​gnoff in #24291)

    ESLint Plugin: React Hooks

    Use Subscription

    • Replace the implementation with the use-sync-external-store shim. (@​gaearon in #24289)

    ... (truncated)

    Commits
    Maintainer changes

    This version was pushed to npm by gnoff, a new releaser for react since your current version.


    Updates react-dom from 17.0.2 to 18.2.0

    Release notes

    Sourced from react-dom's releases.

    18.2.0 (June 14, 2022)

    React DOM

    React DOM Server

    • Pass information about server errors to the client. (@​salazarm and @​gnoff in #24551 and #24591)
    • Allow to provide a reason when aborting the HTML stream. (@​gnoff in #24680)
    • Eliminate extraneous text separators in the HTML where possible. (@​gnoff in #24630)
    • Disallow complex children inside <title> elements to match the browser constraints. (@​gnoff in #24679)
    • Fix buffering in some worker environments by explicitly setting highWaterMark to 0. (@​jplhomer in #24641)

    Server Components (Experimental)

    18.1.0 (April 26, 2022)

    React DOM

    React DOM Server

    • Fix escaping for the bootstrapScriptContent contents. (@​gnoff in #24385)
    • Significantly improve performance of renderToPipeableStream. (@​gnoff in #24291)

    ESLint Plugin: React Hooks

    Use Subscription

    • Replace the implementation with the use-sync-external-store shim. (@​gaearon in #24289)

    18.0.0 (March 29, 2022)

    ... (truncated)

    Changelog

    Sourced from react-dom's changelog.

    18.2.0 (June 14, 2022)

    React DOM

    React DOM Server

    • Pass information about server errors to the client. (@​salazarm and @​gnoff in #24551 and #24591)
    • Allow to provide a reason when aborting the HTML stream. (@​gnoff in #24680)
    • Eliminate extraneous text separators in the HTML where possible. (@​gnoff in #24630)
    • Disallow complex children inside <title> elements to match the browser constraints. (@​gnoff in #24679)
    • Fix buffering in some worker environments by explicitly setting highWaterMark to 0. (@​jplhomer in #24641)

    Server Components (Experimental)

    18.1.0 (April 26, 2022)

    React DOM

    React DOM Server

    • Fix escaping for the bootstrapScriptContent contents. (@​gnoff in #24385)
    • Significantly improve performance of renderToPipeableStream. (@​gnoff in #24291)

    ESLint Plugin: React Hooks

    Use Subscription

    • Replace the implementation with the use-sync-external-store shim. (@​gaearon in #24289)

    ... (truncated)

    Commits
    Maintainer changes

    This version was pushed to npm by gnoff, a new releaser for react-dom since your current version.


    Updates @types/react from 18.0.9 to 18.0.14

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 5
  • Bump @types/node from 18.11.9 to 18.11.10

    Bump @types/node from 18.11.9 to 18.11.10

    Bumps @types/node from 18.11.9 to 18.11.10.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 3
  • Bump @types/node from 18.7.23 to 18.11.8

    Bump @types/node from 18.7.23 to 18.11.8

    Bumps @types/node from 18.7.23 to 18.11.8.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @peterbe.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 3
  • Bump eslint-config-next from 12.3.1 to 13.0.1

    Bump eslint-config-next from 12.3.1 to 13.0.1

    Bumps eslint-config-next from 12.3.1 to 13.0.1.

    Release notes

    Sourced from eslint-config-next's releases.

    v13.0.1

    Core Changes

    • Rest of options in experimental.turbotrace and documentation: #41817
    • Fix revalidate check in client component: #41917
    • Add data attribute to div to distinguish it: #41889
    • Fix lint cli help: #41783
    • [Doc] Update inline documentation for next/link: #41871
    • feat(edge): split NextCookies to RequestCookies and ResponseCookies: #41526
    • Show error message when using legacy props on new next/image: #41930
    • Upgrade Edge Runtime: #41987
    • Revert "Include frameworks in main-app": #41997
    • fix(next/dev): do not suppress error from bindings: #41989
    • Fix page static info extractor for app dir: #42001
    • Add never return type for redirect() and notFound(): #42009
    • Google fonts multiple weights & styles: #42008
    • Merge app internal chunk into main chunk for layouts: #41902
    • Fix build type error of page params: #42019
    • Allow disabling Strict mode in app: #41894
    • Update react next channel: #42021
    • Fix turbo custom config detection: #42022
    • Fix css modules imports in client components: #42077
    • fix: Data URL images with 'fill' are always triggering 'missing sizes' warning: #42030
    • types: leverage webpack types and remove casting: #42104
    • Fix CSS imports from outside of the app dir when src folder is present: #42108
    • Remove react root condition and always use concurrent mode: #42141
    • Keep react-dom/server.node in precompiled: #42138
    • Warn when legacy prop detected on next/image: #42102
    • Fix failing codemod test url-to-withrouter: #42109
    • Improve TypeScript plugin error when the configuration is not statically analyzable: #42062
    • Ensure app revalidate has correct default: #42168
    • Update turbo crates: #42014
    • Update vscode config handling: #42169
    • fix: allow resolving large JSON data in server components: #42025
    • issue-41925 fix: skip duplicate props when transferring props from anchor to link: #42158
    • Ensure we detect config correctly with turbo flag: #42201
    • update turbo version: #42228
    • Fix CSS modules imports from outside of the root directory: #42106
    • Default font config fix: #42235
    • Multiple local font weights and styles: #42232
    • Optimize bundle size for appDir: #42252
    • Add event for dev process stop: #42255
    • Add E2E test for @​vercel/og API route: #42258

    Documentation Changes

    • [Doc] Update Next.js + Static Web Apps: #41857
    • Update the documentation.: #41758
    • Fix invalid markdown lang: #41926
    • Fix more incorrect markdown langs: #41939

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @peterbe.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 3
  • Bump actions/setup-node from 3.5.0 to 3.5.1

    Bump actions/setup-node from 3.5.0 to 3.5.1

    Bumps actions/setup-node from 3.5.0 to 3.5.1.

    Release notes

    Sourced from actions/setup-node's releases.

    Update @​actions/core and Print Node, Npm, Yarn versions

    In scope of this release we updated actions/core to 1.10.0. Moreover, we added logic to print Nodejs, Npm, Yarn versions after installation.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @peterbe.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 3
  • Bump react-refractor from 2.1.6 to 2.1.7

    Bump react-refractor from 2.1.6 to 2.1.7

    Bumps react-refractor from 2.1.6 to 2.1.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 3
  • Bump eslint from 8.12.0 to 8.13.0

    Bump eslint from 8.12.0 to 8.13.0

    Bumps eslint from 8.12.0 to 8.13.0.

    Release notes

    Sourced from eslint's releases.

    v8.13.0

    Features

    • 274acbd feat: fix no-eval logic for this in arrow functions (#15755) (Milos Djermanovic)

    Bug Fixes

    • 97b57ae fix: invalid operator in operator-assignment messages (#15759) (Milos Djermanovic)

    Documentation

    • c32482e docs: Typo in space-infix-ops docs (#15754) (kmin-jeong)
    • f2c2d35 docs: disambiguate types FormatterFunction and LoadedFormatter (#15727) (Francesco Trotta)

    Chores

    • bb4c0d5 chore: Refactor docs to work with docs.eslint.org (#15744) (Nicholas C. Zakas)
    • d36f12f chore: remove lib/init from eslint config (#15748) (Milos Djermanovic)
    • a59a4e6 chore: replace trimLeft/trimRight with trimStart/trimEnd (#15750) (Milos Djermanovic)
    Changelog

    Sourced from eslint's changelog.

    v8.13.0 - April 8, 2022

    • 274acbd feat: fix no-eval logic for this in arrow functions (#15755) (Milos Djermanovic)
    • bb4c0d5 chore: Refactor docs to work with docs.eslint.org (#15744) (Nicholas C. Zakas)
    • 97b57ae fix: invalid operator in operator-assignment messages (#15759) (Milos Djermanovic)
    • c32482e docs: Typo in space-infix-ops docs (#15754) (kmin-jeong)
    • f2c2d35 docs: disambiguate types FormatterFunction and LoadedFormatter (#15727) (Francesco Trotta)
    • d36f12f chore: remove lib/init from eslint config (#15748) (Milos Djermanovic)
    • a59a4e6 chore: replace trimLeft/trimRight with trimStart/trimEnd (#15750) (Milos Djermanovic)
    Commits
    • 938dbdd 8.13.0
    • b7355e2 Build: changelog update for 8.13.0
    • 274acbd feat: fix no-eval logic for this in arrow functions (#15755)
    • bb4c0d5 chore: Refactor docs to work with docs.eslint.org (#15744)
    • 97b57ae fix: invalid operator in operator-assignment messages (#15759)
    • 7a305c1 Sponsors: Sync README with website
    • 27be985 Sponsors: Sync README with website
    • f535e15 Sponsors: Sync README with website
    • c32482e docs: Typo in space-infix-ops docs (#15754)
    • f2c2d35 docs: disambiguate types FormatterFunction and LoadedFormatter (#15727)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 3
  • Bump @mantine/next from 4.1.2 to 4.1.3

    Bump @mantine/next from 4.1.2 to 4.1.3

    Bumps @mantine/next from 4.1.2 to 4.1.3.

    Release notes

    Sourced from @​mantine/next's releases.

    4.1.3

    • Remove selection color from inputs without free input in DatePicker and DateRangePicker components
    • Fix incorrect lines offset in Prism component
    • Make dropdownPosition default to flip in Autocomplete component (#1197)
    • Fix paste not working on highlighted text in RichTextEditor (#1086)
    • Fix uncontrolled DatePicker submitted value with Remix form (#1184)
    • Fix notifications position for top-center and bottom-center positions (#1185)
    • Add Styles API support to ColorSwatch component (#1165)
    • Grid.Col not rendering without span prop when Grid has custom amount of columns
    • Fix incorrect marks highlight logic for negative values in Slider and RangeSlider components
    • Fix incorrect negative values handling in RangeSlider component
    • Fix possible ts strict mode collisions in @mantine/next package
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @peterbe.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 3
  • Bump eslint from 8.8.0 to 8.9.0

    Bump eslint from 8.8.0 to 8.9.0

    Bumps eslint from 8.8.0 to 8.9.0.

    Release notes

    Sourced from eslint's releases.

    v8.9.0

    Features

    • 68f64a9 feat: update eslint-scope to ignore "use strict" directives in ES3 (#15595) (Milos Djermanovic)
    • db57639 feat: add es2016, es2018, es2019, and es2022 environments (#15587) (Milos Djermanovic)
    • 2dc38aa feat: fix bug with arrow function return types in function-paren-newline (#15541) (Milos Djermanovic)
    • 6f940c3 feat: Implement FlatRuleTester (#15519) (Nicholas C. Zakas)

    Documentation

    • 570a036 docs: add one-var example with for-loop initializer (#15596) (Milos Djermanovic)
    • 417191d docs: Remove the $ prefix in terminal commands (#15565) (Andreas Lewis)
    • 389ff34 docs: add missing Variable#scope property in the scope manager docs (#15571) (Milos Djermanovic)
    • f63795d docs: no-eval replace dead link with working one (#15568) (rasenplanscher)
    • 0383591 docs: Remove old Markdown issue template (#15556) (Brandon Mills)
    • a8dd5a2 docs: add 'when not to use it' section in no-duplicate-case docs (#15563) (Milos Djermanovic)
    • 1ad439e docs: add missed verb in docs (#15550) (Jeff Mosawy)

    Chores

    Changelog

    Sourced from eslint's changelog.

    v8.9.0 - February 11, 2022

    • 68f64a9 feat: update eslint-scope to ignore "use strict" directives in ES3 (#15595) (Milos Djermanovic)
    • db57639 feat: add es2016, es2018, es2019, and es2022 environments (#15587) (Milos Djermanovic)
    • 586d45c chore: Upgrade to [email protected] (#15600) (Milos Djermanovic)
    • 623e1e2 chore: Upgrade to [email protected] (#15599) (Milos Djermanovic)
    • 570a036 docs: add one-var example with for-loop initializer (#15596) (Milos Djermanovic)
    • 2dc38aa feat: fix bug with arrow function return types in function-paren-newline (#15541) (Milos Djermanovic)
    • 355b23d chore: fix outdated link to Code of Conduct in PR template (#15578) (Rich Trott)
    • 417191d docs: Remove the $ prefix in terminal commands (#15565) (Andreas Lewis)
    • 389ff34 docs: add missing Variable#scope property in the scope manager docs (#15571) (Milos Djermanovic)
    • b10fef2 ci: use Node 16 for browser test (#15569) (Milos Djermanovic)
    • f63795d docs: no-eval replace dead link with working one (#15568) (rasenplanscher)
    • 6f940c3 feat: Implement FlatRuleTester (#15519) (Nicholas C. Zakas)
    • 0383591 docs: Remove old Markdown issue template (#15556) (Brandon Mills)
    • 92f89fb chore: suggest demo link in bug report template (#15557) (Brandon Mills)
    • a8dd5a2 docs: add 'when not to use it' section in no-duplicate-case docs (#15563) (Milos Djermanovic)
    • 1ad439e docs: add missed verb in docs (#15550) (Jeff Mosawy)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 3
  • Bump alasql from 2.2.5 to 2.3.0

    Bump alasql from 2.2.5 to 2.3.0

    Bumps alasql from 2.2.5 to 2.3.0.

    Release notes

    Sourced from alasql's releases.

    2022-12-29

    • #1596 fix: Remove XMLHttpRequest as Chrome no longer support sync calls
    • Repo cleanup
      • Remove support for ie9 specific code
      • Remove bower support
      • Typescript type definition moved in the repo (not in npm package)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once it's up-to-date and CI passes on it, as requested by @peterbe.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 2
  • [Improvement] Make it quicker/easier to export results

    [Improvement] Make it quicker/easier to export results

    Currently you have to scroll/jump to the bottom of the results to export to JSON or CSV. This isn't a huge pain as I can just do Cmd + down but it would be nice if this were a bit more efficient.

    Ideas:

    • Also have the export buttons at the top of the page
    • Have keyboard shortcuts for export as JSON and export as CSV
    opened by streats 0
  • Server returns 404

    Server returns 404

    I tried running docsql in a checkout of mdn/content, but the started server just returns "Not found":

    % ls                                                                                                                                                                                                               ✖ ✭
    CODE_OF_CONDUCT.md README.md          files              netlify.toml       out                scripts
    LICENSE.md         REVIEWING.md       meta               node_modules       package.json       yarn.lock
    % node --version                                                                                                                                                                                             130 ↵ ✖ ✭
    v16.15.0
    % npx docsql --version                                                                                                                                                                                       130 ↵ ✖ ✭
    1.0.0
    % npx docsql -v ./files                                                                                                                                                                                      130 ↵ ✖ ✭
    Sources are: ./files
    5 plugins found.
    7,206 files found in ./files.
    Analyzing ████████████████████████████████████████ 100% | 7206/7206
    > Ready on http://localhost:3000
    
    image

    Any tips what might cause it?

    opened by caugner 7
  • npm run run not working

    npm run run not working

    Hi, While I start the service using npm run run, the service is not accessible at port 3000.

    But when I start using npm run dev , the service is accessible at port 3000.

    Below URL not working

    ❯ npm run run
    
    > [email protected] run
    > node cli/index.mjs
    
    5 plugins found.
    4,661 files found in /path/to/md/files.
    Analyzing ████████████████████████████████████████ 100% | 4661/4661
    > Ready on http://localhost:3000
    

    Below URL is working

    ❯ npm run dev
    
    > [email protected] dev
    > npm run analyze && next dev
    
    
    > [email protected] analyze
    > npm run run -- --analyze-only
    
    
    > [email protected] run
    > node cli/index.mjs "--analyze-only"
    
    5 plugins found.
    4,661 files found in /path/to/md/files.
    Analyzing ████████████████████████████████████████ 100% | 4661/4661
    Created /opt/docsql-devl-medigy-com/docsql/out/docs.json
    ready - started server on 0.0.0.0:3000, url: http://localhost:3000
    

    Thanks.

    opened by rinshadka 1
Releases(v0.11.2)
  • v0.11.2(Jan 3, 2023)

    Note that the [email protected] upgrades for the json5 security fix.

    • Bump husky from 8.0.2 to 8.0.3 (#228) 3b4a2ff
    • Bump eslint from 8.30.0 to 8.31.0 (#224) 42f7a6a
    • Bump alasql from 2.3.0 to 2.5.1 (#227) faa6900
    • Bump react, react-dom and @types/react (#217) f790508

    https://github.com/peterbe/docsql/compare/v0.11.1...v0.11.2

    Source code(tar.gz)
    Source code(zip)
  • v0.11.1(Dec 30, 2022)

    The removal of react-iconly makes the static build JS about 500KB smaller.

    • remove react-iconly (#223) 39eb80f
    • switch to @tabler/icons (#222) fdfe5b8
    • better footer (#221) c44e1a3
    • Bump alasql from 2.2.5 to 2.3.0 (#219) 38a941a
    • Bump np from 7.6.2 to 7.6.3 (#220) 0769b11
    • Bump actions/cache from 3.2.0 to 3.2.2 (#218) 7e2f670

    https://github.com/peterbe/docsql/compare/v0.11.0...v0.11.1

    Source code(tar.gz)
    Source code(zip)
  • v0.11.0(Dec 26, 2022)

    • Bump eslint-config-next from 13.0.7 to 13.1.1 (#215) 0e99011
    • Bump @types/node from 18.11.17 to 18.11.18 (#214) 00eaf24
    • Bump alasql from 2.2.4 to 2.2.5 (#216) bf2a543
    • @mantine/[email protected] and @mantine/[email protected] (#213) cceef5a
    • upgrade eslint and types (#212) 5355cea
    • improve filtering example queries (#211) bcf7460
    • Bump actions/cache from 3.0.11 to 3.2.0 (#209) 66731cf
    • Bump actions/checkout from 3.1.0 to 3.2.0 (#210) 9f864db
    • Bump @mantine/next from 5.8.3 to 5.9.5 (#207) b55688b
    • ability to search filter saved queries (#208) 7986d80
    • Bump prettier from 2.8.0 to 2.8.1 (#204) b45b72b
    • Bump swr from 1.3.0 to 2.0.0 (#202) 8ba0a90
    • Bump alasql from 2.1.8 to 2.2.4 (#201) 4d4af16
    • Bump typescript from 4.9.3 to 4.9.4 (#200) b7772f9
    • Bump alasql from 2.1.6 to 2.1.8 (#196) 2a7f897
    • Bump eslint-config-next from 13.0.2 to 13.0.4 (#195) b67a7f9

    https://github.com/peterbe/docsql/compare/v0.10.3...v0.11.0

    Source code(tar.gz)
    Source code(zip)
  • v0.10.3(Nov 23, 2022)

    • update release note in README cc65d43
    • upgrade all mantine deps (#194) 963ffb5

    https://github.com/peterbe/docsql/compare/v0.10.2...v0.10.3

    Source code(tar.gz)
    Source code(zip)
  • v0.10.2(Nov 23, 2022)

    • new example about regexp_like (#193) afe36cc
    • default assetPrefix in next.config.js to undefined to avoid warning (#192) 2e811c3
    • [email protected] [email protected] [email protected] (#190) bcf40f2
    • Bump eslint-config-next from 12.3.1 to 13.0.2 (#188) 930a0ba
    • a bit more patience (#187) b2cb332
    • _file isn't always a string (#186) f85393c
    • Bump @emotion/react from 11.10.4 to 11.10.5 (#183) 759d2d0
    • Bump alasql from 2.0.7 to 2.1.6 (#182) 993a46e
    • Bump eslint from 8.24.0 to 8.26.0 (#178) b57cd08
    • Bump actions/checkout from 3.0.2 to 3.1.0 (#176) 58f9e2a
    • Bump actions/setup-node from 3.5.0 to 3.5.1 (#174) fb52ed8
    • Bump actions/cache from 3.0.9 to 3.0.11 (#175) 733bca9
    • Bump JamesIves/github-pages-deploy-action from 4.4.0 to 4.4.1 (#177) 66125ac
    • Bump @types/node from 18.7.23 to 18.11.9 (#185) 8dcdee0
    • Bump fdir from 5.2.0 to 5.3.0 (#184) dbb610d

    https://github.com/peterbe/docsql/compare/v0.10.1...v0.10.2

    Source code(tar.gz)
    Source code(zip)
  • v0.10.1(Oct 3, 2022)

    Some small upgrades.

    • Bump alasql from 2.0.6 to 2.0.7 (#173) 280ce2c
    • Bump @mantine/next from 5.3.0 to 5.4.2 (#166) 44870cd
    • Bump eslint-config-next from 12.3.0 to 12.3.1 (#168) 1a645a7

    https://github.com/peterbe/docsql/compare/v0.10.0...v0.10.1

    Source code(tar.gz)
    Source code(zip)
  • v0.10.0(Sep 30, 2022)

    Most importantly, I forgot to run npm run build:export before so it contained old versions of the next output.

    • release script a1d6cd4
    • Bump @types/node from 18.7.14 to 18.7.23 (#171) b0282e3
    • Bump typescript from 4.8.3 to 4.8.4 (#167) 19cc37a
    • Bump commander from 9.4.0 to 9.4.1 (#165) 8a1e3f1
    • Bump eslint from 8.23.1 to 8.24.0 (#164) 45f9a95
    • Bump next from 12.3.0 to 12.3.1 (#163) 3b8aa2e
    • Bump dotenv from 16.0.2 to 16.0.3 (#172) 07bb8e0
    • Bump actions/cache from 3.0.8 to 3.0.9 (#162) e2d6f6b
    • Bump actions/setup-node from 3.4.1 to 3.5.0 (#161) 5b6f762

    https://github.com/peterbe/docsql/compare/v0.9.1...v0.10.0

    Source code(tar.gz)
    Source code(zip)
  • v0.9.1(Sep 30, 2022)

  • v0.9.0(Sep 29, 2022)

  • v0.7.1(Mar 28, 2022)

  • v0.7.0(Mar 28, 2022)

    • custom demo title and body (#67) 38fab44
    • Bump eslint from 8.11.0 to 8.12.0 (#66) 24e5036
    • Bump eslint-config-next from 12.1.0 to 12.1.1 (#65) dab5933
    • Bump typescript from 4.6.2 to 4.6.3 (#64) c7920a8
    • Bump prettier from 2.6.0 to 2.6.1 (#63) e9487e9
    • Bump @mantine/next from 4.0.7 to 4.0.9 (#62) 49b6ee8
    • Bump next from 12.1.0 to 12.1.1 (#61) 82ab5d1
    • Bump @types/react from 17.0.41 to 17.0.43 (#60) d821929
    • Bump @types/node from 17.0.21 to 17.0.23 (#59) 9fb6799
    • Bump np from 7.6.0 to 7.6.1 (#56) 2c1c4b0
    • Bump prettier from 2.5.1 to 2.6.0 (#55) 69d790e
    • Bump @types/react from 17.0.40 to 17.0.41 (#54) a2de795
    • Bump @mantine/next from 4.0.4 to 4.0.7 (#57) 96a028a
    • Bump commander from 9.0.0 to 9.1.0 (#58) 0fcfb82
    • better darkmode switch (#53) 00e0e3e
    • Bump eslint from 8.10.0 to 8.11.0 (#51) 77ed40e
    • Bump @types/react from 17.0.39 to 17.0.40 (#50) 6b0f49a
    • Bump @mantine/next from 3.6.14 to 4.0.4 (#52) 39f0f24

    https://github.com/peterbe/docsql/compare/v0.6.0...v0.7.0

    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Mar 10, 2022)

  • v0.5.0(Mar 9, 2022)

    • optimize screenshot PNGs (#47) afa1c56
    • sample plugin screenshot 01cf2a6
    • use all screenshots (#46) 3c24529
    • Show some screenshots acd83b7
    • 2 more screenshots 29f5d3a
    • screenshots (#45) eebe88d

    https://github.com/peterbe/docsql/compare/v0.4.0...v0.5.0

    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Mar 7, 2022)

    • new built in plugin depth (#44) 78fdef5
    • Bump actions/setup-node from 2 to 3 (#40) 7ea7575
    • Bump @mantine/next from 3.6.11 to 3.6.14 (#42) df6ac40
    • Bump JamesIves/github-pages-deploy-action from 4.2.3 to 4.2.5 (#41) 358ae18
    • Bump react-refractor from 2.1.5 to 2.1.6 (#43) f590b5f
    • Bump typescript from 4.5.5 to 4.6.2 (#39) 30d0546
    • possible keys context (#38) d685c48
    • Bump eslint from 8.9.0 to 8.10.0 (#36) d0ef630
    • Bump @mantine/next from 3.6.9 to 3.6.11 (#37) be2e91e
    • Bump @types/node from 17.0.18 to 17.0.21 (#35) 4cc6873

    https://github.com/peterbe/docsql/compare/v0.2.1...v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.1(Feb 22, 2022)

    tl;dr; some fixes around saved queries

    • ability to delete saved queries (#34) 3ceefe6
    • don't remember failing queries (#33) e19cfe0

    https://github.com/peterbe/docsql/compare/v0.2.0...v0.2.1

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Feb 22, 2022)

    If you create a plugin, that exposes a key (with value of type string) that ends with _url it becomes a clickable link when found in the UI.

    • Url key (#32) a013dbd
    • ability to specify a specific plugin file (#31) 5d3a434
    • Bump @mantine/next from 3.6.7 to 3.6.9 (#30) 57f02d4
    • Bump eslint-config-next from 12.0.10 to 12.1.0 (#29) 9305cfe
    • Bump next from 12.0.10 to 12.1.0 (#28) 2bd0760
    • Bump @types/node from 17.0.17 to 17.0.18 (#27) c245428
    • Bump swr from 1.2.1 to 1.2.2 (#26) 2ddd52b
    • dark mode switcher (#25) 0af855e
    • prevent infinite loop in demo (#23) 29a94d6
    • Husky to lint (#22) 6962a1c
    • simplify path to docs.json file (#21) 681791a
    • demo-alert (#19) 70c6690
    • hack around alasql bug (#20) 57c3be1
    • GH_PAGES_PREFIX (#18) d8f76a4
    • rename typo 52a0def
    • update package-lock.json 3a9e0df

    https://github.com/peterbe/docsql/compare/v0.1.0...v0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Feb 14, 2022)

    • note about EDITOR (#17) 2bd7fb8 Fixed a problem that the _file columns became links outside of localhost
    • add license (#16) fd0a14c
    • pretty format (#15) 036ee94
    • sources array (#14) 19f471b
    • outline buttons (#13) 4378aa9
    • favicon (#12) 4d63334

    https://github.com/peterbe/docsql/compare/v0.0.5...v0.1.0

    Source code(tar.gz)
    Source code(zip)
Owner
Peter Bengtsson
Full-stack web dev working on GitHub Docs. Formerly Mozilla, MDN. Loves Python, PWAs, Postgres, Node, Search, and wants to learn everything.
Peter Bengtsson
A util for getting data and metadata for all markdown files in a given dir. Useful for building static site generators

extract-md-data A util for getting data and metadata for all markdown files in a given dir. Useful for building static site generators. Usage Given th

Claire Froelich 2 Jan 6, 2022
An obsidian plugin for uploading local images embedded in markdown to remote store and export markdown for publishing to static site.

Obsidian Publish This plugin cloud upload all local images embedded in markdown to specified remote image store (support imgur only, currently) and ex

Addo.Zhang 7 Dec 13, 2022
Free Next.js responsive landing page template for SaaS products made using JAMStack architecture.

✨ Free Next.js marketing website template for SaaS startups ✨ Everything you need to build a great landing page / marketing website for your startup.

RainBow 6 Nov 5, 2022
Feel free to create new file, don't hesitate to pull your code, the most important thing is that the file name here must match your nickname so that file does not conflict with other people.

Hacktoberfest Indonesia Apa Itu Hacktoberfest ? Hacktoberfest adalah acara tahunan yang bertujuan untuk mendorong berkontribusi kedalam ekosistem open

Juan Daniel 5 Dec 15, 2022
A visual overview of Kubernetes architecture and Prometheus metrics

A visual overview of Kubernetes architecture and Prometheus metrics. Structure Navigate through the structures page to easily see your control planes

OSLabs Beta 213 Oct 11, 2022
A visual, interactive outline map that combines the clarity of the outline with the intuitive overview of the minimap. Alternative Minimap.

Outline Map EN | 中文 A visual, interactive outline map that combines the clarity of the outline with the intuitive overview of the minimap. Alternative

null 97 Dec 21, 2022
A quickstart AWS Lambda function code generator. Downloads a template function code file, test harness file, sample SAM deffiniation and appropriate file structure.

Welcome to function-stencil ?? A quickstart AWS Lambda function code generator. Downloads a template function code file, test harness file, sample SAM

Ben Smith 21 Jun 20, 2022
Serve file server with single zip file as file system in Deno.

zipland Serve file server with one-single zip file in Deno. Support zip just zip32 with deflated or uncompressed serving plaintext deflate Examples Yo

Yongwook Choi 18 Nov 2, 2022
This is a simple javascript file that gives you control over the browser cursor, alowing for fully animated cursors using CSS's cursor functionality.

animatedWebCursors.js This is a simple javascript file that gives you control over the browser cursor, alowing for fully animated cursors using CSS's

alienmelon 32 Dec 25, 2022
A plugin for the Obsidian markdown note application, adding functionality to render markdown documents with multiple columns of text.

Multi-Column Markdown Take your boring markdown document and add some columns to it! With Multi Column Markdown rather than limiting your document lay

Cameron Robinson 91 Jan 2, 2023
A markdown-it plugin that process images through the eleventy-img plugin. Can be used in any projects that uses markdown-it.

markdown-it-eleventy-img A markdown-it plugin that process images through the eleventy-img plugin. Can be used in any projects that use markdown-it. F

null 25 Dec 20, 2022
Markdown Transformer. Transform markdown files to different formats

Mdtx Inspired by generative programming and weed :). So I was learning Elm language at home usually in the evening and now I am missing all this gener

Aexol 13 Jan 2, 2023
Easily publish notes to the web This plugin integrates with obsius.site to publish markdown notes on the web.

Obsius Publish Easily publish notes to the web This plugin integrates with obsius.site to publish markdown notes on the web. Limitations The type of c

Jon Grythe Stødle 66 Dec 20, 2022
A set of scripts to test markdown processing speeds in various site generators/frameworks

bench-framework-markdown A set of scripts to test markdown processing speeds in various site generators/frameworks. Read the blog post: Which Generato

Zach Leatherman 24 Nov 3, 2022
A crawler that crawls the site's internal links, fetching information of interest to any SEO specialist to perform appropriate analysis on the site.

Overview ?? It is a module that crawls sites and extracts basic information on any web page of interest to site owners in general, and SEO specialists

Yazan Zoghbi 2 Apr 22, 2022
A crawler that crawls the site's internal links, fetching information of interest to any SEO specialist to perform appropriate analysis on the site.

Overview ?? It is a module that crawls sites and extracts basic information on any web page of interest to site owners in general, and SEO specialists

Yazan Zoghbi 2 Apr 22, 2022
A refined tool for exploring open-source projects on GitHub with a file tree, rich Markdown and image previews, multi-pane multi-tab layouts and first-class support for Ink syntax highlighting.

Ink codebase browser, "Kin" ?? The Ink codebase browser is a tool to explore open-source code on GitHub, especially my side projects written in the In

Linus Lee 20 Oct 30, 2022
Build redux logic, without getting nervous 😬

Redux Cool Build redux logic, without getting nervous ?? Description Redux Cool is an awesome tiny package that allows you to easily and intuitively w

Redux Cool 24 Nov 3, 2022