1.3.10 • Published 2 months ago

@3xpo/create-index v1.3.10

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

npm.io

@3xpo/create-index

Creates an nginx-alike minimal index (dark themed)

Why

why not?

Usage

pnpm create @3xpo/index

Features

Static

Unless in Serve mode, it outputs static files! This means anything from nginx try_files to github pages is supported!

Serve Mode

In Serve mode, it serves a directory instead of generating index files. This is similar to nginx with autoindex on.

Warning We don't implement rate limiting on routes that access the file system, meaning this can cause a denial of service if improperly used

Dark theme

It's dark themed - No eye pain here!

Minimal

Nginx-styled single-file outputs that are so small minification isn't even needed!

READMEs

READMEs are included in the index, and are parsed as HTML (with XSS filtering via sanitize-html) - that is if they're in the text forms README.txt and README, or in the HTML form of .html (in which case they aren't wrapped in <pre> tags).

Text READMEs & HTML Tags

Text READMEs can create a handful of html tags (most notably <h1>, <h2>, etc...), although not many. If you're surprised as to why your plain text is getting formatted, that's likely why - add some zero-width spaces or encode the characters to prevent this (intentional) behaviour.

Notice

When serving untrusted directories on sensitive domains, it may be worth removing README.html's, README.txts and READMEs (or pass the env var NO_READMES), as they're included (with XSS filtering via sanitize-html, may not always be sufficient) in the index.

Additionally, you may want to remove img from lib.SanitizerOptions.allowedTags if you're serving untrusted directories on sensitive domains.

Overwrite Dirreads

Don't want all files to be listed (or, want links to anywhere else)? No problem! Just add a indexoverwrite.json (indexoverwrite.json5 also works) file to the directory, structured similarly to this, or this, or even this

Serve

Want to serve a static directory instead of generating index files? No problem! Use pnpm create @3xpo/index serve [dir=.] to serve a directory instead of generating index files.

Builds (and serves) anywhere...

...where NodeJS can run.

Yes, this includes github actions (via create-index-bin, or create-index-action).

It's just a library

It's just a library, so you can use it in your own projects!

Build | NPM

Unsure if this is for you?

Here's an example of this repository, after CI builds everything!

1.3.10

2 months ago

1.3.9

2 months ago

1.3.8

2 months ago

1.3.7

7 months ago

1.3.6

7 months ago

1.3.5

7 months ago

1.2.0

11 months ago

1.3.4

11 months ago

1.3.3

11 months ago

1.3.2

11 months ago

1.3.1

11 months ago

1.1.3

11 months ago

1.3.0

11 months ago

1.2.1

11 months ago

1.1.2

12 months ago

1.1.1

12 months ago

1.1.0

12 months ago

1.0.0

12 months ago