Compare commits

...

2 Commits
main ... main

Author SHA1 Message Date
Emi Simpson 3d9200b10b
Mark as passively maintained 2022-07-15 14:36:12 -04:00
Emi Simpson 303389de14
Remove the requirement on ordering for domains 2022-07-15 14:29:23 -04:00
3 changed files with 14 additions and 4 deletions

View File

@ -26,3 +26,6 @@ ascii = "1.0.0"
lto = "fat"
codegen-units = 1
panic = "abort"
[badges]
maintenance = { status = "passively-maintained" }

View File

@ -49,8 +49,6 @@ queerings.gay
getonflop.xyz
```
One restriction: If one site is a substring of another, the shorter site must go first. For example, if you have `unix.pub` and `unix.pub/~user`, `unix.pub` MUST be higher in the list than `unix.pub/~user`
Now, run the Faery Ring binary (or docker image) with the `.txt` file you just created as the first argument, like this:
```bash
@ -84,3 +82,7 @@ Now your webring members can add links on their page to `https://your.web.site/n
- that's it for now!
Do you run a webring that uses faery ring? I'd love to know, and add you to the list if you'd like! 💜
## Maintence
Due to the relatively small scope and size of faery-ring, it doesn't require much maintence, and I'm not interested in adding very many features. I'll respond to the any issues and feature requests that are opened, and stay on top of any bugs, but for the most part faery-ring is [passively maintained](https://doc.rust-lang.org/cargo/reference/manifest.html#the-badges-section).

View File

@ -67,9 +67,14 @@ impl<'a> Route<'a> {
match self {
Self::PrevOrNext(this_domain, offset) => {
// The name of the domain at the index of the index of shortest matching
// domain from the list for which the requested domain is a substring,
// offset by the offset.
let destination = domains.iter()
.position(|d| d.as_str().starts_with(this_domain))
.map(|i| (i as isize + offset).rem_euclid(domains.len() as isize))
.enumerate()
.filter(|(_, d)| d.as_str().starts_with(this_domain))
.min_by_key(|(_, d)| d.len())
.map(|(i, _)| (i as isize + offset).rem_euclid(domains.len() as isize))
.map(|i| domains[i as usize]); // safe to unwrap: we just did a rem_euclid
if let Some(url) = destination {