dotfiles

Dotfiles for my OpenBSD environment.
Log | Files | Refs

commit f444bf4f56a7ceaadbe3569d156c11b6d07b7a0c
parent f63d7ea708cf5c90015153b5af0b248122acf2eb
Author: Matsuda Kenji <contact2655@matsudakenji.xyz>
Date:   Thu, 14 Jul 2022 18:00:32 +0900

added chogo, kagero

Diffstat:
M.config/mutt/conf.d/sakura2 | 3+++
M.config/newsboat/urls | 1-
M.config/vim/vimrc | 1+
M.config/w3m/bookmark.html | 2+-
A.config/w3m/bookmark.htmls | 87+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/w3m/duck.html | 35+++++++++++++++++++++++++++++++++++
M.config/w3m/keymap | 2--
Tbin/chogo | 0
Abin/kagero | 121+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mbin/pass | 7++++---
10 files changed, 252 insertions(+), 7 deletions(-)

diff --git a/.config/mutt/conf.d/sakura2 b/.config/mutt/conf.d/sakura2 @@ -13,6 +13,9 @@ set trash = "=Trash" set postponed = "=Drafts" named-mailboxes \ t_inbox =INBOX \ + KBUG =KBUG \ + KUAC =KUAC \ + Chikyumori =Chikyumori \ t_draft =Drafts \ t_sent =Sent \ t_trash =Trash diff --git a/.config/newsboat/urls b/.config/newsboat/urls @@ -14,7 +14,6 @@ https://blog.plenz.com/atom.xml comuter https://vim-jp.org/rss.xml comuter https://tsutsui.hatenablog.com/rss comuter https://codemadness.org/rss_content.xml computer -https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA https://www.youtube.com/feeds/videos.xml?channel_id=UCntL6bw6PoFR0r67cMYXLkg https://www.youtube.com/feeds/videos.xml?channel_id=UC5gLmcFuvdGbajs4VL-WU3g https://www.youtube.com/feeds/videos.xml?channel_id=UCqpdhncf4nxTfy0QZh1YWLQ diff --git a/.config/vim/vimrc b/.config/vim/vimrc @@ -3,6 +3,7 @@ set encoding=utf-8 filetype on set number +set autoindent set shiftwidth=4 set tabstop=4 set viminfo= diff --git a/.config/w3m/bookmark.html b/.config/w3m/bookmark.html @@ -3,8 +3,8 @@ <h1>Bookmarks</h1> <h2>Miscellaneous</h2> <ul> -<li><a href="https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/">NCURSES Programming HOWTO</a> <li><a href="https://lite.duckduckgo.com/lite/">DuckDuckGo</a> +<li><a href="https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/">NCURSES Programming HOWTO</a> <li><a href="https://www.romanzolotarev.com/">rgz.ee</a></li> <li><a href="http://www.ne.jp/asahi/kitutuki/kobo/0top/top.html">きつつき工房だより目次</a></li> <li><a href="https://www.mathpages.com/">MathPages</a></li> diff --git a/.config/w3m/bookmark.htmls b/.config/w3m/bookmark.htmls @@ -0,0 +1,87 @@ +<html><head><title>Bookmarks</title></head> +<body> +<h1>Bookmarks</h1> +<from method="get" action="https://lite.duckduckgo.com/lite"> + <input name="q" id="q" type="text"> + <input type="submit" value="search"> +</form> +<h2>Miscellaneous</h2> +<ul> +<li><a href="https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/">NCURSES Programming HOWTO</a> +<li><a href="https://lite.duckduckgo.com/lite/">DuckDuckGo</a> +<li><a href="https://www.romanzolotarev.com/">rgz.ee</a></li> +<li><a href="http://www.ne.jp/asahi/kitutuki/kobo/0top/top.html">きつつき工房だより目次</a></li> +<li><a href="https://www.mathpages.com/">MathPages</a></li> +<li><a href="https://jcs.org/">joshua stein</a></li> +<li><a href="https://paedubucher.ch/index.html">paedubucher.ch</a></li> +<li><a href="https://sive.rs/">Derek Sivers</a></li> +<li><a href="http://www.bayareamushrooms.org/education/further_reflections_amanita_muscaria.html">Further Reflections on Amanita muscaria as an Edible Species - Bay Area Mycological Society</a></li> +<li><a href="http://www.taleofgenji.org/">The Tale of Genji</a></li> +<li><a href="http://tilde.town/">tilde.town</a></li> +<li><a href="http://tilde.club/~jonbell/">http://tilde.club/~jonbell/</a></li> +<li><a href="http://tilde.club/">Welcome to ~tilde.club~</a></li> +<li><a href="https://tilde.town/~dan/">Dan's Glorious Bookmark Emporium</a></li> +<li><a href="http://www.kountrylife.com/index.htm">Country Life - Country and Rural Living</a></li> +<li><a href="https://kaptein.me/">Homepage - Martin Kaptein</a></li> +<li><a href="https://bugswriter.com/">bugswriter's website</a></li> +<li><a href="https://tonsky.me/">Blog @ tonsky.me</a></li> +<li><a href="https://www.cavebear.com/cavebear-blog/">Cavebear Blog · Cavebear!</a></li> +<li><a href="https://temaeitamae.jp/">手前板前</a></li> +<li><a href="http://fungiphoto.com/CTLG/a_sys/A.alpha.html">MUSHROOMS BY BOTANICAL NAME</a></li> +<li><a href="https://dataswamp.org/~james/">James’s hypertext notebook</a></li> +<li><a href="https://dataswamp.org/">dataswamp.org</a></li> +<li><a href="https://changineer.info/">ネットワークチェンジニアとして | CCIE candidate 応援サイト</a></li> +<li><a href="http://www.kt.rim.or.jp/~kbk/gawk-30/gawk_toc.html">The GNU Awk User's Guide - Table of Contents</a></li> +<li><a href="http://technique.sonots.com/">会津大学UNIXウィキ</a></li> +<li><a href="https://www.bell-labs.com/usr/dmr/www/qedman.html">QED manual</a></li> +<li><a href="https://neocities.org/">Neocities: Create your own free website!</a></li> +<li><a href="https://tildeverse.org/">tildeverse</a></li> +<li><a href="https://sanchamin.tokyo/private/">令和から始める廃人生活 – 内省セラピーとしての雑記ブログ</a></li> +<li><a href="http://fs1.law.keio.ac.jp/~aso/guide.html">Book Guide : Aso</a></li> +<li><a href="http://primitiveways.com/">Primitive Technology, Traditional Skills and Hand-Made Tools</a></li> +<li><a href="https://brownstone.org/articles/more-than-150-comparative-studies-and-articles-on-mask-ineffectiveness-and-harms/">More than 150 Comparative Studies and Articles on Mask Ineffectiveness and Harms ⋆ Brownstone Institute</a></li> +<li><a href="http://square.umin.ac.jp/massie-tmd/">Massie IKEDA: 内科医:池田正行</a></li> +<li><a href="https://ik1-342-31132.vs.sakura.ne.jp/~uaa/">SASANO Takayoshi's page - index (English)</a></li> +<li><a href="http://zazamushi.net/">ざざむし。</a></li> +<li><a href="http://www43.tok2.com/home/hatlee/index.html">サバイバル節約術</a></li> +<li><a href="https://blog.ap.teacup.com/bouken/">blog MONSTER KISS</a></li> +<li><a href="https://www.outdoorfoodgathering.jp/">野食ハンマープライス</a></li> +<li><a href="http://japaorca.web.fc2.com/">趣味友遊 マルチハンティング</a></li> +<li><a href="http://blog.livedoor.jp/chijintianxia/">吃尽天下</a></li> +<li><a href="https://jacobwsmith.xyz/index.html">Jacob's Unnamed Blog</a></li> +<li><a href="https://heaventree.xyz/">Heaven Tree Webring</a></li> +<li><a href="https://americanliterature.com/">Short Stories and Classic Literature</a></li> +<li><a href="https://tomfasano.net/links/">Tom Fasano | Links</a></li> +<li><a href="https://higeinu.com/">髭犬のサイト</a></li> +<li><a href="http://hanshiyiquan.com.cn/yxzl/list_2006.html">韩星垣-韩氏意拳</a></li> +<li><a href="http://hanshiyiquan.com.cn/">韩氏意拳</a></li> +<li><a href="http://hanshiyiquan.us/index.html">Han Shi Yi Quan | US Home</a></li> +<li><a href="https://yamad.me/">YamaD.me</a></li> +<li><a href="https://eman-physics.net/store/top.html">趣味の物理学書店</a></li> +<li><a href="https://eman-physics.net/">EMANの物理学</a></li> +<li><a href="https://www.gakushuin.ac.jp/~881791/indexJ.html">Hal Tasaki's main web page in Japanese</a></li> +<li><a href="http://nothings.org/">the Nothing itself nothings</a></li> +<li><a href="https://www.bsdhack.org/">BSDhack</a></li> +<li><a href="https://ncode.syosetu.com/n7491fi/">異世界で製造業から産業革命をやるってこんなに大変だったんですね</a></li> +<li><a href="http://jp.ethandavidlong.com/">A Long day's work - 工事中</a></li> +<li><a href="https://www.c0ffee.net/blog/openbsd-on-a-laptop/#initial-configuration">OpenBSD on a Laptop</a></li> +<li><a href="http://openbsd.stanleylieber.com/">sl/openbsd</a></li> +<li><a href="http://9p.zone/">9p.zone — Start page</a></li> +<li><a href="https://unixsheikh.com/index.html">unixsheikh.com</a></li> +<li><a href="https://www.huhn.dev/">huhn.dev</a></li> +<li><a href="http://kumazouen.com/jomon_tec/">JOMON-TEC</a></li> +<li><a href="https://coinfaucet.eu/en/btc-testnet/">Bitcoin testnet3 faucet</a></li> +<li><a href="https://www.xn--gmqx52bpnexk914iu0fkyv.net/">日蓮聖人御遺文検索 - test</a></li> +<li><a href="http://codemadness.org/">Posts - Codemadness</a></li> +<li><a href="https://xosc.org/index.html">Ramblings about stuff I do or did — xosc.org</a></li> +<li><a href="https://why-vi.rocks/">why vi rocks</a></li> +<li><a href="https://codemadness.org/idiotbox/">idiotbox</a></li> +<li><a href="https://why-openbsd.rocks/fact/nsd/">Why OpenBSD rocks</a></li> +<li><a href="http://ebin.city/">Ebin City</a></li> +<li><a href="https://effective-shell.com/">Effective Shell | Effective Shell</a></li> +<li><a href="https://www.marginalia.nu/">Marginalia</a></li> +<li><a href="https://dataswamp.org/~solene/">Solene'%</a></li> +<!--End of section (do not delete this comment)--> +</ul> +</body> +</html> diff --git a/.config/w3m/duck.html b/.config/w3m/duck.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> + <link rel="canonical" href="https://duckduckgo.com/"> + <meta http-equiv="content-type" content="text/html; charset=UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, user-scalable=1;"> + <meta name="referrer" content="origin"> + <title>DuckDuckGo</title> + <link title="DuckDuckGo (Lite)" type="application/opensearchdescription+xml" rel="search" href="//duckduckgo.com/opensearch_lite_v2.xml"> + <link rel="icon" href="//duckduckgo.com/favicon.ico" type="image/x-icon"/> + <link rel="apple-touch-icon" href="//duckduckgo.com/assets/logo_icon128.v101.png"> + <link rel="image_src" href="//duckduckgo.com/assets/logo_homepage.normal.v101.png"/> + <link rel="stylesheet" media="handheld, all" href="//duckduckgo.com/l2075.css" type="text/css"/> +</head> + +<body> +<a name="top"></a> +<center id="lite_wrapper"> + <br> + <span class="header">DuckDuckGo</span> + <br><br> + + <form action="/lite/" method="post"> + <input class='query' type="text" size="40" name="q" value="" /> + <input class='submit' type="submit" value="Search" /> + </form> + + <br> + <p class='html-only'> +<!-- This is the Lite version. Get the full-JS version <a href="https://duckduckgo.com/">here</a>. //--> + </p> +</center> + +</body> +</html> diff --git a/.config/w3m/keymap b/.config/w3m/keymap @@ -168,10 +168,8 @@ keymap :h HISTORY ########## scrolling ########## keymap C-e UP keymap e UP -keymap J UP keymap C-y DOWN keymap y DOWN -keymap K DOWN keymap gg BEGIN keymap G END keymap C-d NEXT_HALF_PAGE diff --git a/bin/chogo b/bin/chogo diff --git a/bin/kagero b/bin/kagero @@ -0,0 +1,121 @@ +#!/bin/sh -e + +man=$(pwd)/man +pub=$(pwd)/pub +temp=$(pwd)/temp +data=$(pwd)/data +weblog=$data/weblog +header="$temp/header.html" +footer="$temp/footer.html" +url="https://www.mtkn.jp" + +ignore=$(printf ' ! -name "." ! -path "*/.*" ') + +error() { echo "error: " "$1" >&2; exit 1; } +should_exist_dir() { [ ! -d "$1" ] && error "$1 should exist and be a directory"; } +should_not_exist() { [ -e "$1" ] && error "$1 should not exist"; } + +usage(){ + echo 'usage: '$(basename "$0")' [init|render]' + echo ' init: initialize current directory for static site' + echo ' render: render static pages' +} + +list_dirs(){ + cd "$man" && eval "find . -type d $ignore" +} + +list_dependent_files(){ + e="\\( -name '*.html' -o -name '*.css' -o -name '*.js' \\)" + cd "$man" && eval "find . -type f $ignore $e" +} + +list_files_to_replace(){ + new_temp=$(cd "$temp" && eval "find . -type f ! -name '.' $ignore -newer $weblog") + if [ "$new_temp" ]; then + list_dependent_files + else + (cd "$man" && eval "find . -type f ! -name '.' $ignore -newer $weblog") + fi +} + +render_html(){ + title=$(grep '<h1>' "$man/$1" | sed -E 's/<\/?h1>//g') + cat "$header" "$man/$1" "$footer" | + sed 's/<!--title-->/'"$title"'/' +} + +render_sitemap(){ + e=$(printf ' -name "*.html" ! -name "." ! -path "./error/*" ! -path "./draft/*"') + echo '<?xml version="1.0" encoding="UTF-8"?>' + echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' + (cd "$man" && eval "find . -type f $e $ignore \ + -exec stat -f '%Sm %N' -t '%Y-%m-%d' {} + ") | + sed 's! \./! /!;s!/index.html!/!' | + sed -E 's;(^....-..-..?) (.*$);<url><loc>'"$url"'\2</loc><lastmod>\1</lastmod></url>;' + echo '</urlset>' +} + +render_rss(){ + echo "render_rss: not implemented" >&2 +} + +render_weblog(){ + e=$(printf ' -name "*.html" ! -name "." ! -path "./error/*" ! -path "./draft/*"') + if [ -f "$weblog" ]; then + (cd "$man" && eval "find . -type f $e $ignore -newer $weblog \ + -exec stat -f '%Sm %N' -t '%Y-%m-%d' {} + ") | + sort -h | + sed 's! \./! /!' >> "$weblog" + else + (cd "$man" && eval "find . -type f $e $ignore \ + -exec stat -f '%Sm %N' -t '%Y-%m-%d' {} + ") | + sort -h | + sed 's! \./! /!' >> "$weblog" + fi +} + +# main +should_exist_dir "$man" +should_exist_dir "$pub" +should_exist_dir "$temp" +should_exist_dir "$data" + +case "$1" in +init) + echo 'not implemented' >&2 + exit 1; + ;; +render) + list_dirs | (cd "$man" && cpio -pdu "$pub") + fs=$( + if [ -f "$weblog" ]; then + list_files_to_replace + else + cd "$man" && eval "find . -type f $ignore" + fi + ) + if [ -n "$fs" ]; then + echo "$fs" | grep '\.html$' | + while read f; do + render_html "$f" > "$pub/$1" + touch -r "$man/$f" "$pub/$f" + done + echo "$fs" | grep -Ev '\.html$' | + (cd "$man" && cpio -pu "$pub") + fi + + # delete deleted $man files from $pub + (cd $man && find .) | sed 's/^.*$/\! -path "&"/' | tr '\n' ' ' | + sed 's;^.*$;\(cd '$pub' \&\& find . & -delete\);' | + sh -s + + render_sitemap > "$pub/sitemap.xml" + render_rss + render_weblog + ;; +*) + usage >&2 + exit 1 + ;; +esac diff --git a/bin/pass b/bin/pass @@ -88,9 +88,10 @@ ls) ;; dmenu) ID=$("$0" ls | dmenu -l 5) - pass=$(dmenu -P -p "Password:") - "$0" export "$ID" "$pass" | tail -n1 | xclip -r -selection clip - + if [ -n "$ID" ]; then + pass=$(dmenu -P -p "Password:") + "$0" export "$ID" "$pass" | tail -n1 | xclip -r -selection clip + fi ;; *) echo 'usage: '"$0"' [init|add|export|ls|dmenu]'