Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add copy_asset{_file} to doc/extdev/utils #13077

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

jdillard
Copy link
Contributor

@jdillard jdillard commented Oct 28, 2024

Add copy_asset() and copy_asset_file() to the Sphinx API > Utilities page.

Preview:

Feature or Bugfix

  • Feature

Purpose

The page documents utility classes and functions to develop extensions with and I feel like copy_asset() and copy_asset_file() are common/valuable functions for extension development and should be highlighted in the docs.

The functions were added in version 1.5 via this PR: #2744

@jdillard jdillard marked this pull request as draft October 28, 2024 00:12
@jdillard jdillard marked this pull request as ready for review October 28, 2024 00:37
Copy link
Member

@picnixz picnixz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems a good addition to me.

@AA-Turner Do you have future plans in making sphinx.util.* more private or not?

Copy link
Member

@AA-Turner AA-Turner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thoughts on sphinx.util.osutil.copyfile()? copy_asset{_file} are really only useful if you want to render Jinja templates

doc/extdev/utils.rst Outdated Show resolved Hide resolved
@AA-Turner AA-Turner changed the title DOC: Add copy_asset and copy_asset_file to extdev/utils Add copy_asset{_file} to doc/extdev/utils Nov 2, 2024
Co-authored-by: Adam Turner <[email protected]>
@jdillard
Copy link
Contributor Author

jdillard commented Nov 4, 2024

Thoughts on sphinx.util.osutil.copyfile()? copy_asset{_file} are really only useful if you want to render Jinja templates

Ah, I thought the rendering was acting as an optional addition, but you make a good point.

My use case is that I was playing around with a new extension and (under the current implementation) needed to copy a directory of files to the _static folder.

So in that instance, is it recommended to implement that recursively with sphinx.util.osutil.copyfile()? Or, should a sphinx.util.osutil.copydir() exist?

Or, would would best practice be to not use Sphinx for that functionality?

@AA-Turner
Copy link
Member

To copy a directory, I would reach for shutil.copytree() in the first instance.

Although, this raises a different feature request. Themes can copy static files via copy_theme_static_files, but there's no option for extensions. Thoughts?

A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants