rm
This commit is contained in:
parent
8f3241aae9
commit
97485f94ae
152
README.md
152
README.md
@ -1,7 +1,50 @@
|
||||
*FR → LISEZMOI.md*
|
||||
# Demo
|
||||
|
||||
**Work in progress, if you encounter any issues regarding
|
||||
installation or understanding what this is all about, please send an
|
||||
email to contact@martinlemaire.fr or open an issue here and i'll be
|
||||
happy to answer**
|
||||
|
||||
A browsable webpage generated from a textual database you might want to
|
||||
use as a browser homepage. You can edit the database by editing the file
|
||||
called BOOKMARKS or by running the provided script called
|
||||
edit_bookmarks_dmenu.sh (requires dmenu). The script can be ran from the
|
||||
command line but I suggest to bind it to a keystroke combination.
|
||||
|
||||
index.html
|
||||
![a browsable bookmark manager](demo.png)
|
||||
**A demo more understandable and browsable to be released soon**
|
||||
Its corresponding textual database, in the form of blankline separated
|
||||
records with key/value fields :
|
||||
|
||||
BOOKMARKS
|
||||
```
|
||||
URL: http://fileformats.archiveteam.org/wiki/HEX_(Unifont)
|
||||
Name: HEX (Unifont) - Just Solve the File Format Problem
|
||||
Description:
|
||||
Tags: bbb, hex
|
||||
Date: 1704636690
|
||||
Color: Pink
|
||||
|
||||
URL: http://robhagemans.github.io/monobit/
|
||||
Name: Hoard of bitfonts
|
||||
Description: A python tool to manipulate bitmap fonts and do format conversions
|
||||
Tags: bitmap, fonts
|
||||
Date: 1704639859
|
||||
|
||||
URL: https://en.wikipedia.org/wiki/Wish_(Unix_shell)
|
||||
Name: wish (Unix shell) - Wikipedia
|
||||
Description: a Tcl interpreter extended with Tk commands for unix.
|
||||
Tags: gui, wish, tcl
|
||||
Date: 1704646543
|
||||
|
||||
URL: https://www.kreativekorp.com/
|
||||
Name: Rebecca G. Bettencourt
|
||||
Description:
|
||||
Tags: RGB, people, hide
|
||||
Date: 1704648764
|
||||
```
|
||||
Given this database, signet will color the first link in pink and hide
|
||||
the last one because of its "hide" tag.
|
||||
|
||||
# Presentation
|
||||
## signet.sh
|
||||
@ -10,50 +53,62 @@ It uses awk inside a here-doc declaration redirected to an html file.
|
||||
|
||||
I have created this script because I found the bookmarks manager from
|
||||
firefox not great to use, to the point where I did not have the habit to
|
||||
bookmark my browsing. Firefox stores bookmarks in a sqlite format and I
|
||||
wanted something text based.
|
||||
|
||||
I have been using the generated html page as a default landing page for
|
||||
three months, it has been a pleasing experience so far.
|
||||
bookmark my browsing journeys. Firefox stores bookmarks in a sqlite
|
||||
which is not human readable. Although it allows an export in json and
|
||||
html, I wanted something text based and personal.
|
||||
|
||||
## Bookmarks database format
|
||||
Only a Url is required, the rest of the fields are optional :
|
||||
* URL : ...
|
||||
* Name : grabs </title> from the bookmarked page
|
||||
* Description : ...
|
||||
* URL : the url pasted from the clipboard (exits if no url given)
|
||||
* Name : grabs </title> from the bookmarked page with curl
|
||||
* Description : a description from the user
|
||||
* Tags : comma separated keywords
|
||||
* Date : posix time of the bookmarked link
|
||||
* Date : posix time of the bookmarked link
|
||||
* Color : css color (name, hex, rgb etc...)
|
||||
|
||||
For example, in a file called BOOKMARKS by default:
|
||||
# Usage
|
||||
## Add a bookmark :
|
||||
|
||||
To add a link, I select the URL of the page with Ctrl + l, then copy to
|
||||
clipboard and run add.sh with Super + i.
|
||||
|
||||
__If anyone knows how to retrieve the url of the current browser page
|
||||
without having to copy it and send it to clipboard, this would save two
|
||||
steps out of three.__
|
||||
|
||||
In short : Ctrl + l, Ctrl + c, Super + i
|
||||
|
||||
(or shorter : Ctrl + l + c, Super + i)
|
||||
|
||||
Super + i because in my window manager (awesomewm) configuration file
|
||||
located in ~/.config/awesome/rc.lua, I have the following lines:
|
||||
```
|
||||
URL: https://rosettacode.org/wiki/Rosetta_Code
|
||||
Name: Rosetta Code
|
||||
Description:
|
||||
Tags: literacy, read
|
||||
Date: 1704675057
|
||||
Color: Purple
|
||||
|
||||
URL: https://www.emigre.com/TypeSpecimens
|
||||
Name: Emigre: Type Specimens
|
||||
Description:
|
||||
Tags: emigre, type
|
||||
Date: 1704680644
|
||||
|
||||
URL: https://web.archive.org/web/20211025182257/http://len.falken.ink/
|
||||
Name: Wayback Machine
|
||||
Description:
|
||||
Tags: read
|
||||
Date: 1704712747
|
||||
awful.key({modkey}, "i", function()
|
||||
awful.util.spawn_with_shell("add.sh") end,
|
||||
{description = "Sends the link in clipboard to add.sh"}),
|
||||
```
|
||||
## Edit a bookmark :
|
||||
|
||||
Use your text editor of choice. Open the BOOKMARKS file and edit the
|
||||
entry. The last entry is at the bottom.
|
||||
|
||||
# Other bookmark managers:
|
||||
- nb https://xwmx.github.io/nb/ (AGPL-3.0)
|
||||
- ??
|
||||
If you use vim, with BOOKMARKS opened you can press in normal mode m +
|
||||
B and it will save a mark to the file you can then access with ' + B
|
||||
|
||||
# Installation
|
||||
Works on my machine : Ubuntu 20 LTS, it should work on any POSIX
|
||||
compliant machine, macOS, linux* or bsd*. I'm curious to know how it
|
||||
goes on windows :^)
|
||||
|
||||
clone the repo
|
||||
|
||||
```
|
||||
git clone https://git.vvvvvvaria.org/clemtre/signet.sh.git
|
||||
cd signet.sh
|
||||
```
|
||||
|
||||
# Dependency :
|
||||
|
||||
To add a link via the proposed interface, we will need
|
||||
to install dmenu ~~and htmlq~~.
|
||||
* dmenu https://tools.suckless.org/dmenu/ (MIT/X)
|
||||
@ -71,6 +126,9 @@ In our script, to store the given tags in a variable, we can do:
|
||||
```
|
||||
tags=$(echo "" | dmenu -p "Enter comma-separated tags:")
|
||||
```
|
||||
### install dmenu :
|
||||
https://askubuntu.com/questions/828450/how-to-install-dmenu
|
||||
|
||||
## ~~htmlq~~
|
||||
Htmlq is an HTML parser written in Go. It doesn't matter which parser we
|
||||
use, it seems that each language has its own.
|
||||
@ -105,31 +163,11 @@ For the moment this step is blocking. In case internet cuts while
|
||||
bookmarking a link, you will have to wait for the end of the curl
|
||||
attempt to move to the next field in the script :/ sorry!
|
||||
|
||||
# Add a bookmark :
|
||||
|
||||
To add a link, I select the URL of the page with Ctrl + l, the copy and
|
||||
run add.sh with Super + i.
|
||||
|
||||
__If anyone knows how to retrieve the url of
|
||||
the current browser page without having to copy it, this would save two
|
||||
steps out of three.__
|
||||
|
||||
In short : Ctrl + l, Ctrl + c, Super + i
|
||||
|
||||
(or shorter : Ctrl + l + c, Super + i)
|
||||
|
||||
Super + i because in my window manager configuration file located in
|
||||
~/.config/awesome/rc.lua, I have the following lines:
|
||||
```
|
||||
awful.key({modkey}, "i", function()
|
||||
awful.util.spawn_with_shell("add.sh") end,
|
||||
{description = "Enregistre le lien copié dans signet.sh"}),
|
||||
```
|
||||
|
||||
# Repository structure :
|
||||
|
||||
* BOOKMARKS → A textual database of bookmarks
|
||||
* add.sh → A script to add a link to the database
|
||||
* edit_bookmarks_dmenu.sh → A script to add a link to the database using
|
||||
dmenu
|
||||
* dmenu
|
||||
* ./signet.sh
|
||||
* bookmark.sh → The shell script itself
|
||||
@ -148,6 +186,10 @@ starred.sh → curl from the github user api and format it in the same
|
||||
way as signet.sh without using jq
|
||||
https://api.github.com/users/[user]/starred
|
||||
|
||||
# Other bookmark managers:
|
||||
- nb https://xwmx.github.io/nb/ (AGPL-3.0)
|
||||
- ??
|
||||
|
||||
# Credits
|
||||
* Junicode (OFL-1.1)
|
||||
https://psb1558.github.io/Junicode-font/
|
||||
|
Loading…
Reference in New Issue
Block a user