[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Gemini and Hyperbole
From: |
Jonathan McHugh |
Subject: |
Gemini and Hyperbole |
Date: |
Tue, 25 May 2021 06:12:15 +0200 |
Hello all,
Below: a little experiment I made to generate hyperbole links from searches.
The idea is to use Gemini Protocol's terse markdown format, Gem, as a
source languge for launching knowlede retrieval queries.
If you have any queries or suggestions Id love to hear from you.
Grtx,
--
Jonathan McHugh
indieterminacy@libre.brussels
--
PS1FOO> cat twt_search-documentation.gmi
# twt Gemini to Hyperbole Parsing, Using a Literate Style
* iei Jonathan McHugh
=> indieterminacy@libre.brussels
# rq overview
> rw converting searches for file AND strings into hyperbole reference points
> rw An experiment at utilising a literate style with Gemini markup
> rw Additional annotations are given using Qiuy recursive modelling language
> rw core coding is buried in the lines between ``` demarcation blocks
# oe dependencies
* date
* sed
* find
* grep
* rg
* emacs
* emacs-hyperbole
# owo script
> rw provide header
> rw_ue searching
> uw output date as a Gemini markup header
``` owo
date | sed -e 's/^/# /g'
```
# ue_te searching_filenames
> ue_jw searching_query
> rqr develop launcher for parameters
> GIVEN files search for by directory parameters
> WHEN filetype pdf identified
> THEN perform search on file pathway
``` uw
nen="12"
ueu="*pdf*"
ueu_ueu="mobile-"
```
``` dwd_xq editing_regex
#>
xw_hwh=s/\/home\/[^/][^/]*\//=> ~\//g
#> rw cleaning-parameters-content
q_jq_dwd="s/''*$/'/g"
xwx="s/=\(.*\)/="\1"/g"
q_jq_x1="s/^xw_hwh=\(.*\)/xw_hwh='\1'/g"
q_jq_x2="s/\([^=][^=]*\)=\([^'].*\)/\1='\2'/g"
```
> uq_jw searching_parameters
> rqr build generator for missing values
> rw search pathways according to multiple parameters and find mixes
> GIVEN directorys can be found
> WHEN matching multiple search parameters
> THEN output found files locals as Gemini markup uri
``` ue_te searching_filenames
owo=$(find ~/[$nen]q* -type f -iname "$ueu" | grep "$ueu_ueu" | sed $xw_hwh)
```
> rw look! Duplicate files and duplications found!
``` uw_fq output_filenames
=>
~/1q20mq_content-types/rqr_employment/rqr_initiatives/xq_organisation/20f_Processed/compare_total.pdf
=>
~/1q20mq_content-types/rqr_employment/rqr_initiatives/xq_organisation/20f_Processed/between.pdf
=>
~/1q20mq_content-types/rqr_employment/rqr_initiatives/xq_organisation/20f_Processed/compare_std.pdf
=>
~/1q20mq_content-types/rqr_employment/rqr_initiatives/xq_organisation/20f_Processed/compare_distributions.pdf
=> ~/1q20rqr_interviews/xq_organisation/20f_Processed/compare_total.pdf
=> ~/1q20rqr_interviews/xq_organisation/20f_Processed/between.pdf
=> ~/1q20rqr_interviews/xq_organisation/20f_Processed/compare_std.pdf
=> ~/1q20rqr_interviews/xq_organisation/20f_Processed/compare_distributions.pdf
```
``` uw_heh generate_queries as a seperate tmp file
rm uw_keywords && echo $owo | sed -e $owo_hw | sort -u > uw_keywords
```
``` uw_hwh output_queries
between.pdf
compare_distributions.pdf
compare_std.pdf
compare_total.pdf
```
# Output to emacs-hyperbole
``` xqx converting-to-hyperbole
xq_he1h='s/^\/home\/[^/][^/]*\/\([^:][^:]*\):\([0-9][0-9]*\):.*/\1\t\2/g'
xq_he2h='[^\t][^\t]*/#.*\t'
xq_he3h='[^\t][^\t]*/[^~][^~]*~\t'
xq_he4h='s/\t/ /g'
xq_he5h='s/\(.*\) \([0-9][0-9]*\)/<link-to-file-line "~\/\1" \2>/g'
```
> GIVEN list of search terms
> WHEN temportary directories and files ignored
> AND idenfified file contains a search term
> rw outputs
* Directory
* Filename
* Line Position
> THEN output emacs-hyperbole links
> rw the hypberbole links can
> rw uses nohup, do process the query in the background
``` w_output
#> $e_boo
nohup rg ~/ --no-messages -n -f uw_keywords | sed -e $xq_he1h | grep -ve
$xq_he2h | grep -ve $xq_he3h | sed -e $xq_he4h -e $xq_he5h >> rwr_hyperbole &
```
> rw With Hyperbole installed in emacs, the formatted link provides rich and
> actionable context
> cwc_rw the action button (usually META-RET) jumps to the correct line
> in the file
> cwc_cwc the below example involves jumping to line 39 of the file uw_rq
> cqc_rw the query button (usually CTRL-U META-RET) provides an overview
> of the context surrounding the correct line in the file
``` example
<link-to-file-line "~/3q50twt_authorship/iqi_jonathan-mchugh/uw_rg" 39>
```
- Gemini and Hyperbole,
Jonathan McHugh <=