[email protected] ในวันที่ ศ. 7 ก.พ. 2020 12:09 Myne <[email protected]> เขียนว่า:
> 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]>: >> > >> > 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]. >> > 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 > <https://groups.google.com/d/msgid/sphinx-users/7f7b3ce0-0a59-4366-80ff-eca5672bad00%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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/CAB0fvB65t3SiGDiixVtHMXGAPNb3%2Bo3SyDUti4X9oGhMpL_9Uw%40mail.gmail.com.
