That works for me. Thank you for your help.


On Thursday, February 6, 2020 at 7:48:52 AM UTC-8, Komiya Takeshi wrote:
>
> Sorry, my last comment was incorrect. 
>
> >2. To enable the name of hyperlink target, you need to call 
> >`self.state.document.note_implicit_target(container_node)`. 
>
> Please use `note_explicit_target()` instead. 
> You can see the difference between implicit and explicit targets here: 
>
> https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#implicit-hyperlink-targets
>  
>
> In addition, please use `lambda node: node[0].astext(),` for 
> add_enumerable_node() instead. 
> With current Sphinx, node['names'] was removed on transformation of 
> doctree. (This would be fixed in future release) 
>
> Thanks, 
> Takeshi KOMIYA 
>
> 2020年2月6日(木) 14:16 Myne <[email protected] <javascript:>>: 
> > 
> > Hi Takeshi KOMIYA, 
> > 
> > I tried those steps here 
> > 
> > https://github.com/jtrakk/sphinx-demo (commit: 
> https://github.com/jtrakk/sphinx-demo/commit/cf699f43e29e39af312f182df3a332454b6b7b8b)
>  
>
> > 
> > but I get an error 
> > 
> > 
> > Traceback (most recent call last): 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/cmd/build.py",
>  
> line 276, in build_main 
> >     app.build(args.force_all, filenames) 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/application.py",
>  
> line 353, in build 
> >     self.builder.build_update() 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/builders/__init__.py",
>  
> line 299, in build_update 
> >     len(to_build)) 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/builders/__init__.py",
>  
> line 311, in build 
> >     updated_docnames = set(self.read()) 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/builders/__init__.py",
>  
> line 418, in read 
> >     self._read_serial(docnames) 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/builders/__init__.py",
>  
> line 439, in _read_serial 
> >     self.read_doc(docname) 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/builders/__init__.py",
>  
> line 479, in read_doc 
> >     doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/io.py",
>  
> line 350, in read_doc 
> >     pub.publish() 
> >   File "/home/user/Documents/docutils/docutils/docutils/core.py", line 
> 219, in publish 
> >     self.apply_transforms() 
> >   File "/home/user/Documents/docutils/docutils/docutils/core.py", line 
> 200, in apply_transforms 
> >     self.document.transformer.apply_transforms() 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/transforms/__init__.py",
>  
> line 86, in apply_transforms 
> >     super().apply_transforms() 
> >   File 
> "/home/user/Documents/docutils/docutils/docutils/transforms/__init__.py", 
> line 171, in apply_transforms 
> >     transform.apply(**kwargs) 
> >   File 
> "/home/user/.cache/pypoetry/virtualenvs/sphinx-demo-4JCgFyEV-py3.7/lib/python3.7/site-packages/sphinx/transforms/__init__.py",
>  
> line 177, in apply 
> >     self.document.note_implicit_target(node) 
> >   File "/home/user/Documents/docutils/docutils/docutils/nodes.py", line 
> 1489, in note_implicit_target 
> >     self.set_name_id_map(target, id, msgnode, explicit=None) 
> >   File "/home/user/Documents/docutils/docutils/docutils/nodes.py", line 
> 1436, in set_name_id_map 
> >     self.set_duplicate_name_id(node, id, name, msgnode, explicit) 
> >   File "/home/user/Documents/docutils/docutils/docutils/nodes.py", line 
> 1475, in set_duplicate_name_id 
> >     dupname(node, name) 
> >   File "/home/user/Documents/docutils/docutils/docutils/nodes.py", line 
> 2290, in dupname 
> >     node['names'].remove(name) 
> > ValueError: list.remove(x): x not in list 
> > 
> > 
> > Did I miss something? 
> > 
> > On Sunday, February 2, 2020 at 5:46:50 AM UTC-8, Komiya Takeshi wrote: 
> >> 
> >> Sounds good. I just saw your extension and I found some problem. 
> >> 
> >> 1. It assigned the value of `name` to `container_node.names`. 
> >> Correctly, it should be stored into `container_node['names']`. 
> >> 2. To enable the name of hyperlink target, you need to call 
> >> `self.state.document.note_implicit_target(container_node)`. 
> >> 3. At present, Sphinx does not support assigning numbers to container 
> >> node. So you should inherit another node (ex. Element) instead. 
> >> 
> >> With I rewrite your extension by above rules, I got a number of 
> >> container_node via `:numref:` role. 
> >> Please try it. 
> >> 
> >> Thanks, 
> >> Takeshi KOMIYA 
> >> 
> >> 2020年2月2日(日) 8:37 Myne <[email protected]>: 
> >> > 
> >> > Hi, 
> >> > 
> >> > I tried to make an extension which will number and reference the 
> containers but did not succeed. 
> >> > https://github.com/jtrakk/sphinx-demo 
> >> > 
> >> > How can I fix it? 
> >> > 
> >> > Thanks. 
> >> > 
> >> > On Saturday, February 1, 2020 at 3:22:52 AM UTC-8, Komiya Takeshi 
> wrote: 
> >> >> 
> >> >> Hi, 
> >> >> 
> >> >> "numref" only does referring by number as it named. To refer 
> something 
> >> >> by number, you need to assign numbers to each object before 
> >> >> referencing. But Sphinx does not have a feature to assign numbers to 
> >> >> containers. So you need to write some extensions to do that. 
> >> >> 
> >> >> Personally, I can't imagine how containers get numbered. How is it 
> displayed? 
> >> >> 
> >> >> Thanks, 
> >> >> Takeshi KOMIYA 
> >> >> 
> >> >> 2020年2月1日(土) 13:36 Myne <[email protected]>: 
> >> >> > 
> >> >> > Hi, 
> >> >> > 
> >> >> > I want to make a numref to a container. 
> >> >> > 
> >> >> > 
> >> >> > .. container:: 
> >> >> >    :name: mycontainer 
> >> >> > 
> >> >> > 
> >> >> >      spam eggs 
> >> >> > 
> >> >> > 
> >> >> > 
> >> >> > 
> >> >> > Bar 
> >> >> > ----- 
> >> >> > 
> >> >> > 
> >> >> > Let's reference :numref:`mycontainer` . 
> >> >> > 
> >> >> > 
> >> >> > I want it to appear as "Let's reference Cont. 1" . In my conf.py I 
> put 
> >> >> > 
> >> >> > 
> >> >> > numfig_format = {'container': 'Cont. %s'} 
> >> >> > 
> >> >> > 
> >> >> > 
> >> >> > But that doesn't seem to work, I get 
> >> >> > 
> >> >> > WARNING: undefined label: mycontainer 
> >> >> > 
> >> >> > I am wondering how to make numref work on containers and other 
> types. 
> >> >> > 
> >> >> > -- 
> >> >> > You received this message because you are subscribed to the Google 
> Groups "sphinx-users" group. 
> >> >> > To unsubscribe from this group and stop receiving emails from it, 
> send an email to [email protected]. 
> >> >> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sphinx-users/f6167e37-ef86-416a-9355-7138bfa82345%40googlegroups.com.
>  
>
> >> > 
> >> > -- 
> >> > You received this message because you are subscribed to the Google 
> Groups "sphinx-users" group. 
> >> > To unsubscribe from this group and stop receiving emails from it, 
> send an email to [email protected]. 
> >> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sphinx-users/7dfe936b-8b9c-4b73-8fc4-88229d1ed703%40googlegroups.com.
>  
>
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "sphinx-users" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected] <javascript:>. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sphinx-users/e90bf62d-420e-44ad-90e4-65652add714d%40googlegroups.com.
>  
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sphinx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sphinx-users/7f7b3ce0-0a59-4366-80ff-eca5672bad00%40googlegroups.com.

Reply via email to