Use version number in file links in Sphinx -


in sphinx, file links can generated using following syntax:

`name_of_file.js <some/location/name_of_file.js>`_ 

in conf.py file, version variable defined can use in .rst files such:

|version| 

including version file link using syntax not allowed:

`name_of_file.|version|.min.js <some/location/name_of_file.|version|.min.js>`_ 

so, how can generate links files named name_of_file.<version_num>.min.js , use version number conf.py?

i had need similar , after experimentation have workaround this. warned, crummy solution works.

the short answer:

you need split parts of link left , right of |version| , use raw html along |version|. .rst this:

example of link version in |link-pre|\ |version|\ |link-post|  .. |link-pre| raw:: html      <a href="some/location/name_of_file.  .. |link-post| raw:: html      .min.js">name_of_file.min.js</a> 

the long answer

there couple of hurdles need overcome:

problem 1: now, |version| substitution definition. when use substitution reference in document, has lead space |version|.

so in regular rst sentence, not link, can't name_of_file.|version|.min.js. need name_of_file.\ |version|.min.js, i.e, escape space \

problem 2: nested inline markup not supported in rest: http://docutils.sourceforge.net/faq.html#is-nested-inline-markup-possible

so can't make substitution, |version|, within link \`name_of_file.|version|.min.js`\. why have use raw-html , break parts, , create 2 more substitution definitions |link-pre| , |link-post|, replaced raw-html in generated output.

i tried using inline :raw-html: role did not help, unfortunately solution turned out verbose.


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -