#!/bin/rc
# Create an html file that can be used as HEADER with ALL LINKED TAGS
# from $werc/sites/$site/tags saved as $werc/sites/$site/_werc/barf/header
if(! ~ $#1 0)
base=$1
if not if(~ $#barf_root 1 && $#barf_base 1)
base=$barf_root/$"barf_base
if not
base=`{pwd}
if(test -f $base/_werc/barf/_header)
rm $base/_werc/barf/_header
echo '<div>tags: ' >> $base/_werc/barf/_header
for(i in `{cat $base/tags | awk -F '/' '{print $3}' | sort | uniq}){
echo '<a href="?tags='$i'">'$i'</a> ' >>
$base/_werc/barf/_header
}
echo '</div>' >> $base/_werc/barf/_header
if(test -f $base/_werc/barf/_header)
cp $base/_werc/barf/_header $base/_werc/barf/header
changeset: 31:3e14943901dc
branch: nailim
tag: tip
user: web@RpiOne
date: Mon Jun 26 13:04:27 2023 +0200
summary: Modify rss feed generator to generate correct pubDate for each individual
post
diff -r bfe8a8115155 lib/rss
--- a/lib/rss Sat May 13 20:40:38 2023 +0200
+++ b/lib/rss Mon Jun 26 12:58:14 2023 +0200
@@ -11,14 +11,20 @@
ndate -m `{date `{mtime $barf_root/$"barf_dir/src | awk '{print $1}'}} #
rfc2822 last time channel content changed.
echo -n '</lastBuildDate>'
echo '<language>en-us</language>'
- date=`{ndate -m} # rfc2822 publication date for content in the channel.
get_post_list
for(i in `{seq 1 $#posts}){
a_id=$posts($i)
a_dir=$barf_root/$"barf_dir/src/$a_id
echo '<item>'
echo '<guid
isPermaLink="true">'$base_url^$barf_base_uri'?id='$"a_id'</guid>'
- echo '<pubDate>'$"date'</pubDate>'
+ # rfc2822 publication date for individual content piece in the channel.
+ if (test -f $a_dir/date) {
+ pubdate=`{ndate -m `{cat $a_dir/date}}
+ }
+ if not {
+ pubdate=`{ndate -m `{date `{mtime $a_dir | awk '{print $1}'}}}
+ }
+ echo '<pubDate>'$"pubdate'</pubDate>'
title=`{cat $a_dir/title}
if(~ $title '')
ntitle=($siteTitle $"a_id)
#!/bin/rc
# runcron
# hack to run cron on a terminal (not an auth server)
# get script name to exclude from process list
sn=`{basename $0}
# check if run without previous cleaning up (no cron processes but present lock
file)
cpc=`{ps | grep cron | grep -v $sn | wc -l | awk '{print $1}'}
if (test $cpc -eq '0') {
rm /cron/lock
rfork
# there should be only one
auth/cron
}
changeset: 30:bfe8a8115155
branch: nailim
tag: tip
user: web@RpiOne
date: Sat May 13 20:40:38 2023 +0200
summary: HACK to make paste generate body and date files. Probabbly using it
wrong, but could not find how submiting paste should generate those files trough
(traced to) edit_post function.
diff -r 9cfb19949517 -r bfe8a8115155 lib/core
--- a/lib/core Sat May 13 20:39:02 2023 +0200
+++ b/lib/core Sat May 13 20:40:38 2023 +0200
@@ -149,6 +149,13 @@
a_dir=$barf_root/$"barf_dir^src/$a_id
mkdir -p $a_dir/img $a_dir/tags
rm -f $a_dir/tags/*
+
+ switch($barf_type){
+ case paste
+ echo $"post_arg_a_body >$a_dir/body
+ echo $"a_date >$a_dir/date
+ }
+
for(x in $barf_items){
if(~ $x date){
if(! ~ $#a_date 0)
changeset: 29:9cfb19949517
branch: nailim
user: web@RpiOne
date: Sat May 13 20:39:02 2023 +0200
summary: Change action to submit forum, to make paste work correctly as a
subfolder in werc.
diff -r 5477d47b01b6 -r 9cfb19949517 lib/paste
--- a/lib/paste Sat May 13 16:36:33 2023 +0200
+++ b/lib/paste Sat May 13 20:39:02 2023 +0200
@@ -9,7 +9,7 @@
if(~ $allow_anon 1 || {check_user && ! ~ $#logged_user 0}){
echo '<div id="paste">
<p>
- <form method="post" action="/">
+ <form method="post" action="'$barf_base_uri'">
<input type="hidden" name="fake" value="fake">
<input type="text" name="url" style="display: none;">
<input type="hidden" name="a_func" value="add_post">
changeset: 28:5477d47b01b6
branch: nailim
tag: tip
user: web@RpiOne
date: Sat May 13 16:36:33 2023 +0200
summary: Change generating link to element, to make paste render correctly as a
subfolder in werc.
diff -r 9c7f088d031b -r 5477d47b01b6 lib/paste
--- a/lib/paste Sat May 13 13:54:25 2023 +0200
+++ b/lib/paste Sat May 13 16:36:33 2023 +0200
@@ -28,7 +28,7 @@
<div id="post_meta">'
date=`{cat $a_dir/date}
echo '<span id="post_date">
- <a href="/src/'$"a_id'/body" target="_b">'$"date'</a>
+ <a href="'$barf_base_uri'src/'$"a_id'/body" target="_b">'$"date'</a>
</span>'
if(check_user && ! ~ $#logged_user 0){
echo ' | <span id="post_edit">'
changeset: 27:9c7f088d031b
branch: nailim
user: web@RpiOne
date: Sat May 13 13:54:25 2023 +0200
summary: Change generating link to No. id, to make blog work as a subfolder in
werc.
diff -r b853ba4a7ef5 -r 9c7f088d031b lib/core
--- a/lib/core Fri May 12 10:53:43 2023 +0200
+++ b/lib/core Sat May 13 13:54:25 2023 +0200
@@ -336,7 +336,7 @@
}
fn print_id{
- echo '<span id="post_id"><a
href="/?id='$"a_id'">No.'$"a_id'</a></span>'
+ echo '<span id="post_id"><a
href="'$barf_base_uri'?id='$"a_id'">No.'$"a_id'</a></span>'
}
fn print_img{
changeset: 26:b853ba4a7ef5
branch: nailim
user: web@RpiOne
date: Fri May 12 10:53:43 2023 +0200
summary: Change slug parsing to last / in url, to make blog work as a subfolder in
werc.
diff -r 124b96a03944 -r b853ba4a7ef5 lib/core
--- a/lib/core Mon Apr 24 21:32:15 2023 +0200
+++ b/lib/core Fri May 12 10:53:43 2023 +0200
@@ -281,7 +281,7 @@
fn load_get_args{
if(~ $REQUEST_METHOD GET && ~ $#get_args 0 && ~ $REQUEST_URI *'='*){
ifs='&' {
- a=`{echo $"REQUEST_URI | sed 's/(^\/|#.*$)//g'}
+ a=`{echo $"REQUEST_URI | sed 's/.*\///g'}
for(pair in $a){
ifs='=' { pair=`{echo -n $pair} }
n='get_arg_'^`{echo $pair(1) | urldecode |
tr -cd 'a-zA-Z0-9_'}
# poor man's rc shell rc file with custom definitions
# >> true $home/lib/profile is basically that, but this keeps things clean
and separated
#
# usage: save this file as $home/lib/rcrc
# usage: add ". $home/lib/rcrc" line to your $home/lib/profile
# add ssh private key to factotum
cat $home/lib/sshkey > /mnt/factotum/ctl
# clear text in terminal
fn c { >/dev/text }
# save history on exit - uses https://github.com/Nailim/plan9-rchistory
fn quit { savehist; exit }
# grep trough global history - uses https://github.com/Nailim/plan9-rchistory
fn h { if(test $#* '=' 0) hist -G; if not hist -G | grep -i $* }
# aliases ...
fn ll { ls -l $* }