From 7f5c57d7de7ebddd17ffa250fcce1bf399ac7a4b Mon Sep 17 00:00:00 2001 From: dozens Date: Mon, 30 Oct 2023 13:59:37 -0600 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20webring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webring/db/members.rec | 20 +++++++ webring/index.html | 107 +++++++++++++++++++++++++++++++++++++ webring/justfile | 38 ++++++++++++++ webring/src/example.html | 111 +++++++++++++++++++++++++++++++++++++++ webring/src/example.opml | 16 ++++++ webring/webring.opml | 13 +++++ 6 files changed, 305 insertions(+) create mode 100644 webring/db/members.rec create mode 100644 webring/index.html create mode 100644 webring/justfile create mode 100644 webring/src/example.html create mode 100644 webring/src/example.opml create mode 100644 webring/webring.opml diff --git a/webring/db/members.rec b/webring/db/members.rec new file mode 100644 index 0000000..3210b51 --- /dev/null +++ b/webring/db/members.rec @@ -0,0 +1,20 @@ +%rec: member +%doc: a member of the webring +%key: id +%unique: id name url feed +%auto: id created +%type: id int +%type: created date +%type: title,url,feed line +%typedef: Name_t regexp /[a-z]{3,13}/ +%type: name Name_t +%allowed: id created title name url feed +%mandatory: id title name url +%sort: id + +id: 0 +created: Mon, 30 Oct 2023 13:38:40 -0600 +name: dozens +title: dozens +url: https://tilde.town/~dozens +feed: diff --git a/webring/index.html b/webring/index.html new file mode 100644 index 0000000..3f39567 --- /dev/null +++ b/webring/index.html @@ -0,0 +1,107 @@ + + + + + + webring + + + +
+

the benevolent tildepals basement heroes 43beans commonheath of casakhstan webring

+
+
+
+

members

+ +
+
+

joining

+

+ add your info to members.rec: +

+

+ https://tildegit.org/casa/pages/src/branch/main/webring/db/members.rec +

+
+
+

snippet

+
+ code snippet to add to member site +

+ all you have to do + (after you've been added to the db) + is add a few anchor tags to your site. + you can do something like this, + replacing "yoursitename" + with the value of "name" + you provide in members.rec +

+
+<div>
+<p>this site is a member of a very powerful webring!</p>
+<p>
+  < <a href="https://friends.m455.casa/webring/index.html?name=yoursitename&dir=prev">previous</a> |
+  <a href="https://friends.m455.casa/webring/index.html">all</a> |
+  <a href="https://friends.m455.casa/webring/index.html?name=yoursitename&dir=next">next</a> >
+</p>
+</div>
+          
+

+ that would end up looking something like this: +

+

+

+
+

this site is a member of a very powerful webring!

+

+ < previous | + all | + next > +

+
+
+

+
+
+
+ + + + + diff --git a/webring/justfile b/webring/justfile new file mode 100644 index 0000000..0a3c3be --- /dev/null +++ b/webring/justfile @@ -0,0 +1,38 @@ +# list all recipes +default: + just --list --unsorted + +# add a new webring member +new: + #!/usr/bin/env sh + read -p "name (lowercase, 3-13 characters): " name + read -p "title: " title + read -p "url: " url + read -p "feed: " feed + recins --verbose -t member \ + -f "name" -v "$name" \ + -f "title" -v "$title" \ + -f "url" -v "$url" \ + -f "feed" -v "$feed" \ + db/members.rec +alias add := new + +# build html +html: + recsel db/members.rec \ + | rec2csv \ + | csvjson \ + | jq '. | {data: .}' \ + | mustache - src/example.html index.html + +# build opml +opml: + recsel db/members.rec \ + | rec2csv \ + | csvjson \ + | jq '. | {data: .}' \ + | jq '{ data: [ .data[] | select(.feed != null) ] }' \ + | mustache - src/example.opml webring.opml + +# compile html and opml +build: html opml diff --git a/webring/src/example.html b/webring/src/example.html new file mode 100644 index 0000000..0bbaa4c --- /dev/null +++ b/webring/src/example.html @@ -0,0 +1,111 @@ + + + + + + webring + + + +
+

the benevolent tildepals basement heroes 43beans commonheath of casakhstan webring

+
+
+
+

members

+ +
+
+

joining

+

+ add your info to members.rec: +

+

+ https://tildegit.org/casa/pages/src/branch/main/webring/db/members.rec +

+
+
+

snippet

+
+ code snippet to add to member site +

+ all you have to do + (after you've been added to the db) + is add a few anchor tags to your site. + you can do something like this, + replacing "yoursitename" + with the value of "name" + you provide in members.rec +

+
+<div>
+<p>this site is a member of a very powerful webring!</p>
+<p>
+  < <a href="https://friends.m455.casa/webring/index.html?name=yoursitename&dir=prev">previous</a> |
+  <a href="https://friends.m455.casa/webring/index.html">all</a> |
+  <a href="https://friends.m455.casa/webring/index.html?name=yoursitename&dir=next">next</a> >
+</p>
+</div>
+          
+

+ that would end up looking something like this: +

+

+

+
+

this site is a member of a very powerful webring!

+

+ < previous | + all | + next > +

+
+
+

+
+
+
+ + + + + diff --git a/webring/src/example.opml b/webring/src/example.opml new file mode 100644 index 0000000..24b0917 --- /dev/null +++ b/webring/src/example.opml @@ -0,0 +1,16 @@ + + + + tildepals webring + tildepals webring + dozens + dozens@tilde.team + + + + {{#data}} + + {{/data}} + + + diff --git a/webring/webring.opml b/webring/webring.opml new file mode 100644 index 0000000..17b6a2c --- /dev/null +++ b/webring/webring.opml @@ -0,0 +1,13 @@ + + + + webring + webring + dozens + dozens@tilde.team + + + + + +