Hi Jonathan:

Nice idea.  You might want to provide pointers to Gemini since few here may
be familiar with it.  And also, to show a full output file from your script
where you describe overall how you anticipate using the integration.

Just FYI, this link:

<link-to-file-line "~/3q50twt_authorship/iqi_jonathan-mchugh/uw_rg" 39>

could be shortened to:

"~/3q50twt_authorship/iqi_jonathan-mchugh/uw_rg:39"

Bob

On Tue, May 25, 2021 at 3:50 AM Jonathan McHugh
<[email protected]> wrote:

> 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>
> ```
>
>
>
>

Reply via email to