4 changed files with 2761 additions and 0 deletions
File diff suppressed because it is too large
@ -0,0 +1,28 @@ |
|||
unsorted list of things that would be nice to have |
|||
|
|||
* *make a make*file in order to variabilize language in add.sh prompts |
|||
and make overall config easier |
|||
* pin links |
|||
→ add an optional boolean to the records implictly false if absent. |
|||
if true, the link sits on top of the pile |
|||
* search select tags for filtering |
|||
→ tags inside \<nav> would be \<button>s instead of \<p>s and filter |
|||
the links accordingly |
|||
* a better way to capture url |
|||
→ something that grabs current page to clipboard |
|||
* hardcode bookmark ids in awk rather than css so that ids are |
|||
persistant and don't slide if a link is removed |
|||
→ add.sh id++ |
|||
* make other ways to edit and generate bookmarks if dmenu is too much of |
|||
a struggle to install. |
|||
* plug other pages / tools to it - ie : |
|||
* unicode dictionnary, css colors |
|||
* notes (report, files recently written) |
|||
* agenda ← big textual dreams about this one |
|||
* weather forecast -- in the form of a line in the bookmarks maybe ?? |
|||
* documentations, html/css properties quickref |
|||
* images, something like signet.sh but for images and their metadata. |
|||
entries from an IMAGES file database would be attached to downloaded |
|||
images, the most recent ones cascading in a line as thumbnails |
|||
somewhere alongside links... |
|||
|
@ -0,0 +1,49 @@ |
|||
#!/bin/bash |
|||
|
|||
dmenu_style() { |
|||
local font='junicode-18' |
|||
local normal_bg='#000000' |
|||
local normal_fg='#FFFFFF' |
|||
local selected_bg='#AAAAAA' |
|||
local selected_fg='#000000' |
|||
|
|||
echo "-fn $font -nb $normal_bg -nf $normal_fg -sb $selected_bg -sf $selected_fg" |
|||
} |
|||
|
|||
BOOKMARKS="BOOKMARKS" |
|||
|
|||
local url=$(xclip -o -selection clipboard) |
|||
|
|||
url_regex="^(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]*[-A-Za-z0-9+&@#/%=~_|]" |
|||
|
|||
# If the given string ressembles to a url, continue. |
|||
if [[ $url =~ $url_regex ]]; then |
|||
echo "The string is a URL: $url" |
|||
url=$(xclip -o -selection clipboard | dmenu -p "Enter the URL:" $(dmenu_style)) |
|||
|
|||
# what we used to need htmlq for : |
|||
#name=$(curl $url | ~/.cargo/bin/htmlq title --text | sed -r '/^\s*$/d' | sed 's/^ *//g') |
|||
|
|||
# This is a blocking process and will pause the programm in case |
|||
# internet shuts :^) |
|||
name=$(curl $url awk -v RS='</title>' ' |
|||
/<title>/ {gsub(/.*<title>/, ""); print} |
|||
' $url | tr -d '\n') |
|||
|
|||
description=$(echo "" | dmenu -p "Enter a description:" $(dmenu_style)) |
|||
tags=$(echo "" | dmenu -p "Enter comma-separated tags:" $(dmenu_style)) |
|||
|
|||
bookmark_file="$BOOKMARKS" |
|||
|
|||
# Save the data to the file. |
|||
echo "URL: $url" >> "$BOOKMARKS" |
|||
echo "Name: $name" >> "$BOOKMARKS" |
|||
echo "Description: $description" >> "$BOOKMARKS" |
|||
echo "Tags: $tags" >> "$BOOKMARKS" |
|||
echo "Date: $(date +%s)" >> "$BOOKMARKS" |
|||
echo >> "$BOOKMARKS" |
|||
|
|||
else |
|||
xclip -o -selection clipboard | dmenu -p "≉" $(dmenu_style) |
|||
fi |
|||
|
File diff suppressed because it is too large
Loading…
Reference in new issue