scopatz / hiddencode Goto Github PK
View Code? Open in Web Editor NEWA sphinx extension for hiding and showing code blocks in reST
Home Page: http://scopatz.github.com/hiddencode
A sphinx extension for hiding and showing code blocks in reST
Home Page: http://scopatz.github.com/hiddencode
It would be great if we could have something similar to hidden-code-block but for literalinclude.
Thanks in advance,
Hi and thanks for the extension.
I noticed 2 problems with the extension and I'm not sure how to fix them.
sphinx-build -b html demo_docs/source output
Running the extension to build the HTML output leads to:
Exception occurred:
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/writers/text.py", line 1196, in unknown_visit
raise NotImplementedError('Unknown node: ' + node.__class__.__name__)
NotImplementedError: Unknown node: hidden_code_block
Full traceback:
Traceback (most recent call last):
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/cmdline.py", line 304, in main
app.build(args.force_all, filenames)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/application.py", line 325, in build
self.builder.build_all()
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 299, in build_all
self.build(None, summary='all source files', method='all')
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 403, in build
self.write(docnames, list(updated_docnames), method)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 440, in write
self._write_serial(sorted(docnames))
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 449, in _write_serial
self.write_doc(docname, doctree)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/text.py", line 80, in write_doc
self.writer.write(doctree, destination)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/writers/__init__.py", line 80, in write
self.translate()
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/writers/text.py", line 165, in translate
self.document.walkabout(visitor)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
if child.walkabout(visitor):
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
if child.walkabout(visitor):
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/nodes.py", line 166, in walkabout
visitor.dispatch_visit(self)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/nodes.py", line 1882, in dispatch_visit
return method(node)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/writers/text.py", line 1196, in unknown_visit
I had this problem with an extension in the past and I fixed it by providing all the args for app.add_node
:
app.add_node(hidden_code_block,
html=(visit_hcb_html, depart_hcb_html),
)
becomes:
def setup(app):
app.add_directive('hidden-code-block', HiddenCodeBlock)
app.add_node(hidden_code_block,
html=(visit_hcb_html, depart_hcb_html),
latex=(visit_hcb_html, depart_hcb_html),
text=(visit_hcb_html, depart_hcb_html),
man=(visit_hcb_html, depart_hcb_html),
texinfo=(visit_hcb_html, depart_hcb_html),
)
After this fix (is it a fix?), I go one step further:
Exception occurred:
File "/Users/artflag/repositories/sphinx-theme/demo_docs/source/_ext/hidden_code_blocks.py", line 81, in visit_hcb_html
code_block = self.body[-1]
AttributeError: 'TextTranslator' object has no attribute 'body'
Full traceback:
Traceback (most recent call last):
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/cmdline.py", line 304, in main
app.build(args.force_all, filenames)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/application.py", line 325, in build
self.builder.build_all()
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 299, in build_all
self.build(None, summary='all source files', method='all')
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 403, in build
self.write(docnames, list(updated_docnames), method)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 440, in write
self._write_serial(sorted(docnames))
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 449, in _write_serial
self.write_doc(docname, doctree)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/builders/text.py", line 80, in write_doc
self.writer.write(doctree, destination)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/writers/__init__.py", line 80, in write
self.translate()
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/sphinx/writers/text.py", line 165, in translate
self.document.walkabout(visitor)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
if child.walkabout(visitor):
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
if child.walkabout(visitor):
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/nodes.py", line 166, in walkabout
visitor.dispatch_visit(self)
File "/Users/artflag/.local/share/virtualenvs/sphinx-theme-I1JNWXam/lib/python3.7/site-packages/docutils/nodes.py", line 1882, in dispatch_visit
return method(node)
File "/Users/artflag/repositories/sphinx-theme/demo_docs/source/_ext/hidden_code_blocks.py", line 81, in visit_hcb_html
code_block = self.body[-1]
AttributeError: 'TextTranslator' object has no attribute 'body'
Any idea how to fix this?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.