ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* texdoc in ConTeXt standalone
@ 2018-04-04 22:43 Henri Menke
  2018-04-04 23:18 ` Hans Hagen
  0 siblings, 1 reply; 5+ messages in thread
From: Henri Menke @ 2018-04-04 22:43 UTC (permalink / raw)
  To: mailing list for ConTeXt users

[-- Attachment #1: Type: text/plain, Size: 619 bytes --]

Dear list,

I'm sure you aware of the very useful "texdoc" command line utility in TeX live
which brings up the PDF documentation for packages.  ConTeXt standalone also
comes with documentation in

    /opt/context/tex/texmf-context/doc/context

However, I find it tedious to always search for the correct subfolder to get to
the document I need.  It would be great if there was something like

    mtxrun --script doc metafun

which would open the MetaFun manual.  Similarly "mtxrun --script doc gnuplot"
would open the manual of the gnuplot module, etc.

See attached for my shitty prototype.

Cheers, Henri


[-- Attachment #2: mtx-doc.lua --]
[-- Type: text/x-lua, Size: 1980 bytes --]

if not modules then modules = { } end modules ['mtx-doc'] = {
    version   = 1.001,
    comment   = "companion to mtxrun.lua",
    author    = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
    copyright = "PRAGMA ADE / ConTeXt Development Team",
    license   = "see context related readme files"
}

-- If needed this one can be optimized for speed as well as use some existing
-- helpers. We can quit faster on max, and probably use lpeg instead of find.

local helpinfo = [[
<?xml version="1.0"?>
<application>
 <metadata>
  <entry name="name">mtx-doc</entry>
  <entry name="detail">Documentation Utility</entry>
  <entry name="version">0.1</entry>
 </metadata>
 <flags>
  <category name="basic">
   <subcategory>
    <flag name="list"><short>list all matches instead of opening the first one</short></flag>
   </subcategory>
  </category>
 </flags>
 <examples>
  <category>
   <title>Examples</title>
   <subcategory>
    <example><command>mtxrun --script doc metafun</command></example>
   </subcategory>
  </category>
 </examples>
</application>
]]

local application = logs.application {
    name     = "mtx-doc",
    banner   = "Documentation Utility 0.1",
    helpinfo = helpinfo,
}

local report = application.report

local list = environment.arguments["list"] or false
local files = environment.files and #environment.files > 0 and environment.files

if files and files[1] then
   local matches = resolvers.findfiles([[*]] .. files[1] .. [[*.pdf]])

   if not list and matches[1] then
      os.execute([[xdg-open "]] .. matches[1] .. [["]])
   else
      for i,file in pairs(matches) do
         print(i,file)
      end
      io.write("Enter number of file to view, anything else to skip: ")
      local n = io.read("*n")
      if n then
         if matches[n] then
            os.execute([[xdg-open "]] .. matches[n] .. [["]])
         else
            error("The document with number " .. n .. " does not exist")
         end
      end
   end
else
    application.help()
end

[-- Attachment #3: Type: text/plain, Size: 492 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: texdoc in ConTeXt standalone
  2018-04-04 22:43 texdoc in ConTeXt standalone Henri Menke
@ 2018-04-04 23:18 ` Hans Hagen
  2018-04-04 23:28   ` Henri Menke
  0 siblings, 1 reply; 5+ messages in thread
From: Hans Hagen @ 2018-04-04 23:18 UTC (permalink / raw)
  To: ntg-context

On 4/5/2018 12:43 AM, Henri Menke wrote:
> Dear list,
> 
> I'm sure you aware of the very useful "texdoc" command line utility in TeX live
> which brings up the PDF documentation for packages.  ConTeXt standalone also
> comes with documentation in
> 
>      /opt/context/tex/texmf-context/doc/context
> 
> However, I find it tedious to always search for the correct subfolder to get to
> the document I need.  It would be great if there was something like
> 
>      mtxrun --script doc metafun
> 
> which would open the MetaFun manual.  Similarly "mtxrun --script doc gnuplot"
> would open the manual of the gnuplot module, etc.

this is one of these magic features that suddenly is available on your 
system

mtxrun --launch metafun*.pdf
mtxrun --launch cld-mkiv.pdf
mtxrun --all --launch "*-mkiv.pdf"

features like that have always been present in the context suite of 
programs (i bet even before texdoc) but it might be that i don't call 
the right thing on todays linux:

local launchers={
   windows="start %s",
   macosx="open %s",
   unix="$BROWSER %s &> /dev/null &",
}

there's also

mtxrun --edit kpse:cld-mkiv.tex

we can of course extend this feature with some listing but then i'd 
rather consult the descriptive files xml but i'm not sure if i 
distribute them yet

> See attached for my shitty prototype.
> 
> Cheers, Henri
> 
> 
> 
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
> 
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________
> 


-- 

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: texdoc in ConTeXt standalone
  2018-04-04 23:18 ` Hans Hagen
@ 2018-04-04 23:28   ` Henri Menke
  2018-04-04 23:45     ` Hans Hagen
  2018-04-05  0:06     ` Hans Hagen
  0 siblings, 2 replies; 5+ messages in thread
From: Henri Menke @ 2018-04-04 23:28 UTC (permalink / raw)
  To: ntg-context

On Thu, 2018-04-05 at 01:18 +0200, Hans Hagen wrote:
> On 4/5/2018 12:43 AM, Henri Menke wrote:
> > 
> > Dear list,
> > 
> > I'm sure you aware of the very useful "texdoc" command line utility in TeX
> > live
> > which brings up the PDF documentation for packages.  ConTeXt standalone also
> > comes with documentation in
> > 
> >      /opt/context/tex/texmf-context/doc/context
> > 
> > However, I find it tedious to always search for the correct subfolder to get
> > to
> > the document I need.  It would be great if there was something like
> > 
> >      mtxrun --script doc metafun
> > 
> > which would open the MetaFun manual.  Similarly "mtxrun --script doc
> > gnuplot"
> > would open the manual of the gnuplot module, etc.
> this is one of these magic features that suddenly is available on your 
> system
> 
> mtxrun --launch metafun*.pdf
> mtxrun --launch cld-mkiv.pdf
> mtxrun --all --launch "*-mkiv.pdf"

Hm, that requires that I know enough about the name of the document.  A list
would be quite nice in the sense that I could just type "metafun" and then
select from "metafun-p.pdf" and "metafun-s.pdf" instead of opening both
documents.

> 
> features like that have always been present in the context suite of 
> programs (i bet even before texdoc) but it might be that i don't call 
> the right thing on todays linux:
> 
> local launchers={
>    windows="start %s",
>    macosx="open %s",
>    unix="$BROWSER %s &> /dev/null &",
> }

I'm quite sure it should be xdg-open (or $PDFVIEWER if it is set and the file is
PDF) on Linux.  For me $BROWSER is unset.
https://linux.die.net/man/1/xdg-open

$ mtxrun --launch metafun*.pdf
resolvers       | resolving | forcing filetype 'tex'
resolvers       | resolving | checking wildcard 'metafun*.pdf'
resolvers       | methods | resolving, method 'concatinators', how 'tag', tag
'file'
resolvers       | methods | resolving, method 'concatinators', how 'tag', tag
'file'
mtxrun          | launching /opt/context/tex/texmf-
context/doc/context/documents/general/manuals/metafun-p.pdf
sh: 1: /opt/context/tex/texmf-
context/doc/context/documents/general/manuals/metafun-p.pdf: Permission denied

> there's also
> 
> mtxrun --edit kpse:cld-mkiv.tex
> 
> we can of course extend this feature with some listing but then i'd 
> rather consult the descriptive files xml but i'm not sure if i 
> distribute them yet
> 
> > 
> > See attached for my shitty prototype.
> > 
> > Cheers, Henri
> > 
> > 
> > 
> > ____________________________________________________________________________
> > _______
> > If your question is of interest to others as well, please add an entry to
> > the Wiki!
> > 
> > maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-conte
> > xt
> > webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
> > archive  : https://bitbucket.org/phg/context-mirror/commits/
> > wiki     : http://contextgarden.net
> > ____________________________________________________________________________
> > _______
> > 
> 
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: texdoc in ConTeXt standalone
  2018-04-04 23:28   ` Henri Menke
@ 2018-04-04 23:45     ` Hans Hagen
  2018-04-05  0:06     ` Hans Hagen
  1 sibling, 0 replies; 5+ messages in thread
From: Hans Hagen @ 2018-04-04 23:45 UTC (permalink / raw)
  To: mailing list for ConTeXt users, Henri Menke

On 4/5/2018 1:28 AM, Henri Menke wrote:
> On Thu, 2018-04-05 at 01:18 +0200, Hans Hagen wrote:
>> On 4/5/2018 12:43 AM, Henri Menke wrote:
>>>
>>> Dear list,
>>>
>>> I'm sure you aware of the very useful "texdoc" command line utility in TeX
>>> live
>>> which brings up the PDF documentation for packages.  ConTeXt standalone also
>>> comes with documentation in
>>>
>>>       /opt/context/tex/texmf-context/doc/context
>>>
>>> However, I find it tedious to always search for the correct subfolder to get
>>> to
>>> the document I need.  It would be great if there was something like
>>>
>>>       mtxrun --script doc metafun
>>>
>>> which would open the MetaFun manual.  Similarly "mtxrun --script doc
>>> gnuplot"
>>> would open the manual of the gnuplot module, etc.
>> this is one of these magic features that suddenly is available on your
>> system
>>
>> mtxrun --launch metafun*.pdf
>> mtxrun --launch cld-mkiv.pdf
>> mtxrun --all --launch "*-mkiv.pdf"
> 
> Hm, that requires that I know enough about the name of the document.  A list
> would be quite nice in the sense that I could just type "metafun" and then
> select from "metafun-p.pdf" and "metafun-s.pdf" instead of opening both
> documents.
> 
>>
>> features like that have always been present in the context suite of
>> programs (i bet even before texdoc) but it might be that i don't call
>> the right thing on todays linux:
>>
>> local launchers={
>>     windows="start %s",
>>     macosx="open %s",
>>     unix="$BROWSER %s &> /dev/null &",
>> }
> 
> I'm quite sure it should be xdg-open (or $PDFVIEWER if it is set and the file is
> PDF) on Linux.  For me $BROWSER is unset.
> https://linux.die.net/man/1/xdg-open

can you check that in mtxrun?

btw, context itself provides --autopdf which is handy when you run from 
an editor

> $ mtxrun --launch metafun*.pdf
> resolvers       | resolving | forcing filetype 'tex'
> resolvers       | resolving | checking wildcard 'metafun*.pdf'
> resolvers       | methods | resolving, method 'concatinators', how 'tag', tag
> 'file'
> resolvers       | methods | resolving, method 'concatinators', how 'tag', tag
> 'file'
> mtxrun          | launching /opt/context/tex/texmf-
> context/doc/context/documents/general/manuals/metafun-p.pdf
> sh: 1: /opt/context/tex/texmf-
> context/doc/context/documents/general/manuals/metafun-p.pdf: Permission denied
> 
>> there's also
>>
>> mtxrun --edit kpse:cld-mkiv.tex
>>
>> we can of course extend this feature with some listing but then i'd
>> rather consult the descriptive files xml but i'm not sure if i
>> distribute them yet
btw, there are all kind of gimmicks like

mtxrun --script grep doifelse /data/context/**.mkiv

which works with lua patterns and

mtxrun --script fcd --scan /data
mtxrun --script fcd mkiv

for fast directory switching (which i use a lot)

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: texdoc in ConTeXt standalone
  2018-04-04 23:28   ` Henri Menke
  2018-04-04 23:45     ` Hans Hagen
@ 2018-04-05  0:06     ` Hans Hagen
  1 sibling, 0 replies; 5+ messages in thread
From: Hans Hagen @ 2018-04-05  0:06 UTC (permalink / raw)
  To: mailing list for ConTeXt users, Henri Menke

On 4/5/2018 1:28 AM, Henri Menke wrote:
> On Thu, 2018-04-05 at 01:18 +0200, Hans Hagen wrote:
>> On 4/5/2018 12:43 AM, Henri Menke wrote:
>>>
>>> Dear list,
>>>
>>> I'm sure you aware of the very useful "texdoc" command line utility in TeX
>>> live
>>> which brings up the PDF documentation for packages.  ConTeXt standalone also
>>> comes with documentation in
>>>
>>>       /opt/context/tex/texmf-context/doc/context
>>>
>>> However, I find it tedious to always search for the correct subfolder to get
>>> to
>>> the document I need.  It would be great if there was something like
>>>
>>>       mtxrun --script doc metafun
>>>
>>> which would open the MetaFun manual.  Similarly "mtxrun --script doc
>>> gnuplot"
>>> would open the manual of the gnuplot module, etc.
>> this is one of these magic features that suddenly is available on your
>> system
>>
>> mtxrun --launch metafun*.pdf
>> mtxrun --launch cld-mkiv.pdf
>> mtxrun --all --launch "*-mkiv.pdf"
> 
> Hm, that requires that I know enough about the name of the document.  A list
> would be quite nice in the sense that I could just type "metafun" and then
> select from "metafun-p.pdf" and "metafun-s.pdf" instead of opening both
> documents.

on my machine opening the lot is fast enough but anyway it's a trivial 
extension, so i've added --list

 >mtxrun --launch --list *-mkiv.pdf
mtxrun          |   1:  charts-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |   2:  cld-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |   3:  colors-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |   4:  epub-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |   5:  fonts-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/fonts
mtxrun          |   6:  languages-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |   7:  libraries-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |   8:  lua-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |   9:  mag-0000-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/magazines
mtxrun          |  10:  mag-0002-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/magazines
mtxrun          |  11:  mag-0006-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/magazines
mtxrun          |  12:  mag-0007-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/magazines
mtxrun          |  13:  mag-0010-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/magazines
mtxrun          |  14:  mag-1101-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/magazines
mtxrun          |  15:  mag-1102-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/magazines
mtxrun          |  16:  mag-1103-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/magazines
mtxrun          |  17:  math-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  18:  rules-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  19:  spacing-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  20:  spreadsheets-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  21:  sql-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  22:  steps-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  23:  swiglib-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  24:  templates-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  25:  tools-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  26:  units-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  27:  workflows-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  28:  xml-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals
mtxrun          |  29:  xtables-mkiv.pdf 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals


[select number]

 >> 4

mtxrun          | launching: 
c:/data/develop/tex-context/tex/texmf-context/doc/context/documents/general/manuals/epub-mkiv.pdf

>>
>> features like that have always been present in the context suite of
>> programs (i bet even before texdoc) but it might be that i don't call
>> the right thing on todays linux:
>>
>> local launchers={
>>     windows="start %s",
>>     macosx="open %s",
>>     unix="$BROWSER %s &> /dev/null &",
>> }
> 
> I'm quite sure it should be xdg-open (or $PDFVIEWER if it is set and the file is
> PDF) on Linux.  For me $BROWSER is unset.
> https://linux.die.net/man/1/xdg-open
> 
> $ mtxrun --launch metafun*.pdf
> resolvers       | resolving | forcing filetype 'tex'
> resolvers       | resolving | checking wildcard 'metafun*.pdf'
> resolvers       | methods | resolving, method 'concatinators', how 'tag', tag
> 'file'
> resolvers       | methods | resolving, method 'concatinators', how 'tag', tag
> 'file'
> mtxrun          | launching /opt/context/tex/texmf-
> context/doc/context/documents/general/manuals/metafun-p.pdf
> sh: 1: /opt/context/tex/texmf-
> context/doc/context/documents/general/manuals/metafun-p.pdf: Permission denied
> 
>> there's also
>>
>> mtxrun --edit kpse:cld-mkiv.tex
>>
>> we can of course extend this feature with some listing but then i'd
>> rather consult the descriptive files xml but i'm not sure if i
>> distribute them yet
>>
>>>
>>> See attached for my shitty prototype.
>>>
>>> Cheers, Henri
>>>
>>>
>>>
>>> ____________________________________________________________________________
>>> _______
>>> If your question is of interest to others as well, please add an entry to
>>> the Wiki!
>>>
>>> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-conte
>>> xt
>>> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
>>> archive  : https://bitbucket.org/phg/context-mirror/commits/
>>> wiki     : http://contextgarden.net
>>> ____________________________________________________________________________
>>> _______
>>>
>>
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
> 
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________
> 


-- 

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-04-05  0:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-04 22:43 texdoc in ConTeXt standalone Henri Menke
2018-04-04 23:18 ` Hans Hagen
2018-04-04 23:28   ` Henri Menke
2018-04-04 23:45     ` Hans Hagen
2018-04-05  0:06     ` Hans Hagen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).