Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/scpwiki/wikidot-path

Simple library to provide Wikidot-compatible path parsing.
https://github.com/scpwiki/wikidot-path

library nuscp parsing path rust scp-foundation wikidot

Last synced: 2 months ago
JSON representation

Simple library to provide Wikidot-compatible path parsing.

Awesome Lists containing this project

README

        

## wikidot-path



Rust CI badge


docs.rs link

Simple library to provide Wikidot-compatible path parsing.

Wikidot accepts paths in an unusual manner: each argument is submitted as another "directory".

For instance, to access page `scp-xxxx` with options `norender` and `edit`, you would go to `/scp-xxxx/norender/true/edit/true`.

However this also extends its usage in a few minor ways. For instance, options like `edit` only make sense when `true`, but passing that field is always required by Wikidot. Thus the logical URL `/scp-xxxx/edit` doesn't work, despite it being rather clear to a human what the intent is. This library adjusts this by allowing "solo keys" (those without values).

Additionally URL normalization is performed. See the [`wikidot-normalize`](https://crates.io/crates/wikidot-normalize) crate for more information.

Available under the terms of the MIT License. See [LICENSE.md](LICENSE).

### Compilation
This library targets the latest stable Rust. At time of writing, that is 1.68.2

```sh
$ cargo build --release
```

### Testing
```sh
$ cargo test
```

Add `-- --nocapture` to the end if you want to see test output.