2323# Repository configuration
2424# ═══════════════════════════════════════════════════════════════════════════════
2525repo_url = " github.com/control-toolbox/CTBase.jl"
26+ src_dir = abspath (joinpath (@__DIR__ , " .." , " src" ))
27+ ext_dir = abspath (joinpath (@__DIR__ , " .." , " ext" ))
28+
29+ # Helper to build absolute paths
30+ src (files... ) = [abspath (joinpath (src_dir, f)) for f in files]
31+ ext (files... ) = [abspath (joinpath (ext_dir, f)) for f in files]
32+
33+ # Symbols to exclude from documentation (auto-generated by @with_kw, etc.)
34+ const EXCLUDE_SYMBOLS = Symbol[
35+ :include ,
36+ :eval ,
37+ ]
2638
2739# ═══════════════════════════════════════════════════════════════════════════════
2840# Build documentation
@@ -46,59 +58,54 @@ makedocs(;
4658 " API Reference" => [
4759 CTBase. automatic_reference_documentation (;
4860 subdirectory= " ." ,
49- modules = [CTBase],
50- exclude= Symbol[ :include , :eval ] ,
61+ primary_modules = [CTBase => src ( " CTBase.jl " ) ],
62+ exclude= EXCLUDE_SYMBOLS ,
5163 public= false ,
5264 private= true ,
5365 title= " CTBase" ,
5466 title_in_menu= " CTBase" , # optionnel
5567 filename= " ctbase" ,
56- source_files= [abspath (joinpath (@__DIR__ , " .." , " src" , " CTBase.jl" ))],
5768 ),
5869 CTBase. automatic_reference_documentation (;
5970 subdirectory= " ." ,
60- modules = [CTBase],
61- exclude= Symbol[ :include , :eval ] ,
71+ primary_modules = [CTBase => src ( " default.jl " ) ],
72+ exclude= EXCLUDE_SYMBOLS ,
6273 public= false ,
6374 private= true ,
6475 title= " Default" ,
6576 title_in_menu= " Default" , # optionnel
6677 filename= " default" ,
67- source_files= [abspath (joinpath (@__DIR__ , " .." , " src" , " default.jl" ))],
6878 ),
6979 CTBase. automatic_reference_documentation (;
7080 subdirectory= " ." ,
71- modules = [CTBase],
72- exclude= Symbol[ :include , :eval ] ,
81+ primary_modules = [CTBase => src ( " description.jl " ) ],
82+ exclude= EXCLUDE_SYMBOLS ,
7383 public= false ,
7484 private= true ,
7585 title= " Description" ,
7686 title_in_menu= " Description" , # optionnel
7787 filename= " description" ,
78- source_files= [abspath (joinpath (@__DIR__ , " .." , " src" , " description.jl" ))],
7988 ),
8089 CTBase. automatic_reference_documentation (;
8190 subdirectory= " ." ,
82- modules = [CTBase],
83- doc_modules = [Base], # pour inclure Base.showerror
84- exclude= Symbol[ :include , :eval ] ,
91+ primary_modules = [CTBase => src ( " exception.jl " ) ],
92+ external_modules_to_document = [Base], # pour inclure Base.showerror
93+ exclude= EXCLUDE_SYMBOLS ,
8594 public= false ,
8695 private= true ,
8796 title= " Exception" ,
8897 title_in_menu= " Exception" , # optionnel
8998 filename= " exception" ,
90- source_files= [abspath (joinpath (@__DIR__ , " .." , " src" , " exception.jl" ))],
9199 ),
92100 CTBase. automatic_reference_documentation (;
93101 subdirectory= " ." ,
94- modules = [CTBase],
95- exclude= Symbol[ :include , :eval ] ,
102+ primary_modules = [CTBase => src ( " utils.jl " ) ],
103+ exclude= EXCLUDE_SYMBOLS ,
96104 public= false ,
97105 private= true ,
98106 title= " Utils" ,
99107 title_in_menu= " Utils" , # optionnel
100108 filename= " utils" ,
101- source_files= [abspath (joinpath (@__DIR__ , " .." , " src" , " utils.jl" ))],
102109 ),
103110 ],
104111 ],
0 commit comments