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 [email protected] -- PS1FOO> cat twt_search-documentation.gmi # twt Gemini to Hyperbole Parsing, Using a Literate Style * iei Jonathan McHugh => [email protected] # 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> ```
