AnswerDotAI / AnswerDotAI/nbdev

Specify multiple directories in `nbs_path` or exclude certain subdirectories

Open
#1,395 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
5.3k
Forks
513
Avg merge
2d 30m
Merged PRs (30d)
8

Description

I would like to build nbdev docs (nb: docs only, no lib code) based on multiple subfolders - the pattern is as follows:

```
repo_root
└ nbs_dir
├ sub-directory1
│ ├ core/
│ └ tutorials/nbs/... # here are the tutorials!
├ sub-directory2
│ ├ core/
│ └ tutorials/nbs/... # here are the tutorials!
└ sub-directory3
├ core/
└ tutorials/nbs/... # here are the tutorials!

```

Thus, I'd like to specify my `nbs_path` in `settings.ini` either as follows:

**Option 1**
```
# settings.ini
nbs_path = nbs_dir/sub-directory1/tutorials, nbs_dir/sub-directory2/tutorials, nbs_dir/sub-directory3/tutorials
```

**Option 2**
```
# settings.ini
nbs_path = nbs_dir
exclude_pattern = nbs_dir/*/core/
```

# Additional context:
sub-dir1/2/3 are submodules from external libraries which have their own lib code and nbdev tutorials.
This repo would only serve as synced, centralised point to access all tutorials in a single build.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how settings.ini currently reads and applies nbs_path during the nbdev documentation build. Compare the requested multiple-path and exclude_pattern forms, and consider the work done when the centralized build includes the tutorial notebooks while omitting the external libraries' core directories.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, python
Domain
documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.