Re: make libpq documentation navigable between functions

2019-07-26 Thread Fabien COELHO



Hello Peter,


I have committed this with some additions.


Thanks for the push. It was really a pain to write a small libpq app 
without navigation.



Also, due to some mysterious problems with the PDF toolchain I had to
remove some links.  Your script would find those, so I won't list them
here.  If you put those back in, the PDF build breaks.  If you want to
work out why, feel free to submit more patches.  Otherwise I'm happy to
leave it as is now; it's very useful.


Ok fine with me for now as well. I'm not keen to invest more time on the 
documentation tool chain.


--
Fabien.




Re: make libpq documentation navigable between functions

2019-07-26 Thread Peter Eisentraut
On 2019-07-22 22:56, Fabien COELHO wrote:
> Attached script does, hopefully, the expected transformation. It adds ids 
> to  occurrences when the id is not defined elsewhere.
> 
> Attached v3 is the result of applying your kindly provided xslt patch plus
> the script on "libpq.sgml".
> 
> Three functions are ignored because no documentation is found: 
> PQerrorField (does not exist anywhere in the sources), 
> PQsetResultInstanceData (idem) and PQregisterThreadLock (it exists).
> 
> Doc build works for me and looks ok.

I have committed this with some additions.

I have changed all the function-related id attributes in libpq.sgml to
be mixed case, for easier readability.  So if you run your script again,
you can omit the lc() call.

I also needed to make some changes to the markup in some places to
remove extra whitespace that would have appeared in the generated link.
(This was already happening in some places, but your patch would have
repeated it in many places.)

Also, due to some mysterious problems with the PDF toolchain I had to
remove some links.  Your script would find those, so I won't list them
here.  If you put those back in, the PDF build breaks.  If you want to
work out why, feel free to submit more patches.  Otherwise I'm happy to
leave it as is now; it's very useful.

-- 
Peter Eisentraut  http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services




Re: make libpq documentation navigable between functions

2019-07-22 Thread Peter Eisentraut
On 2019-07-10 09:51, Fabien COELHO wrote:
>> One approach for making the currently non-monospaced ones into monospace 
>> would be to make the xref targets point to  elements
>> but *don't* put xreflabels on those.
> 
> I understand that you mean turning function usages:
> 
>PQbla
> 
> into:
> 
>
> 
> so that it points to function definitions that would look like:
> 
>PQbla...
> 
> (note: "libpq-pqbla" ids are already taken).

What I really meant was that you determine the best link target in each
case.  If there already is an id on a , then use that.  If
not, then make an id on something else, most likely the  element.

What you have now puts ids on both the  and the
, which seems unnecessary and confusing.

For some weird reason this setup with link targets in both
 and enclosed  breaks the PDF build, but if you
change it the way I suggest then those errors go away.

>> This will currently produce a warning Don't know what gentext to create 
>> for xref to: "function"
> 
> Indeed.
> 
>> but we can write a template
>>
>> 
>>
>> and then we can control the output format of that.
> 
> This step is (well) beyond my current XSLT proficiency, which is null 
> beyond knowing that it transforms XML into whatever. Also I'm unsure into 
> which of the 11 xsl file the definition should be included and what should 
> be written precisely.

See attached patch.

-- 
Peter Eisentraut  http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From 74509f28778c69bc2168925f0d0ca6fa935c9013 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut 
Date: Mon, 22 Jul 2019 14:04:48 +0200
Subject: [PATCH] doc: Add support for xref to command and function elements

---
 doc/src/sgml/stylesheet-common.xsl | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/doc/src/sgml/stylesheet-common.xsl 
b/doc/src/sgml/stylesheet-common.xsl
index 6d26e7e5c9..e148c9057f 100644
--- a/doc/src/sgml/stylesheet-common.xsl
+++ b/doc/src/sgml/stylesheet-common.xsl
@@ -86,4 +86,15 @@
   ?
 
 
+
+
+
+
+  
+
+
+
+  
+
+
 
-- 
2.22.0



Re: make libpq documentation navigable between functions

2019-07-05 Thread Peter Eisentraut
On 2019-05-12 11:02, Fabien COELHO wrote:
> While writing some libpq code, I found it quite irritating that the 
> documentation is not navigable, so when a function appears in a 
> description of another function and you are interested, there is no direct 
> way to find it, you have to go to the index or to guess in which section 
> it is going to appear.
> 
> Attached:
>   - a first patch to add a few missing "id"
>   - a script which adds the references
>   - a second patch which is the result of applying the script
> on top of the first patch, so that all PQ* functions are
> replaced by links to their documentation.

I think this is a good idea.

The rendering ends up a bit inconsistent depending on the context of the
link target.  Sometimes it's monospaced, sometimes it's not, sometimes
in the same sentence.  I think we should improve that a bit.  One
approach for making the currently non-monospaced ones into monospace
would be to make the xref targets point to  elements but
*don't* put xreflabels on those.  This will currently produce a warning

Don't know what gentext to create for xref to: "function"

but we can write a template



and then we can control the output format of that.

-- 
Peter Eisentraut  http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services