Skip to content

Commit d028ee8

Browse files
authored
Merge pull request #389 from ruby-rice/dev
Dev
2 parents 306f078 + 0a0e4e9 commit d028ee8

5 files changed

Lines changed: 178 additions & 148 deletions

File tree

.github/workflows/docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ jobs:
1616
with:
1717
python-version: '3.x'
1818

19-
- name: Install mkdocs and dependencies
19+
- name: Install zensical
2020
run: |
21-
pip install mkdocs-material
21+
pip install zensical
2222
2323
- name: Build documentation
24-
run: mkdocs build --strict
24+
run: zensical build --clean
2525

2626
- name: Deploy to GitHub Pages
2727
uses: peaceiris/actions-gh-pages@v4

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ msvc
3232
.cmake
3333
cmake-build-mingw
3434
build
35+
/site

docs/bindings/constructors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ end
8585

8686
### KeepAlive
8787

88-
When an object is cloned or duped, Rice automatically copies its [keepAlive](keep_alive.md) references to the new object. This ensures that the clone directly protects the same Ruby objects as the original. For example, if a `std::vector<MyClass*>` holds pointers to Ruby-wrapped objects, cloning the vector will ensure those objects are kept alive by both the original and the clone independently.
88+
When an object is cloned or duped, Rice automatically copies its [keepAlive](memory_management.md#ruby-to-c) references to the new object. This ensures that the clone directly protects the same Ruby objects as the original. For example, if a `std::vector<MyClass*>` holds pointers to Ruby-wrapped objects, cloning the vector will ensure those objects are kept alive by both the original and the clone independently.
8989

9090
## Move Constructors
9191

mkdocs.yml

Lines changed: 0 additions & 144 deletions
This file was deleted.

zensical.toml

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
[project]
2+
3+
site_name = "Rice - Ruby Interface for C++"
4+
site_description = "Rice is a C++ header-only library that makes it easy to create Ruby bindings for C++ libraries"
5+
site_url = "https://ruby-rice.github.io/rice/"
6+
7+
repo_url = "https://github.com/ruby-rice/rice"
8+
repo_name = "ruby-rice/rice"
9+
10+
nav = [
11+
{ "Home" = [
12+
"index.md",
13+
{ "Installation" = "installation.md" },
14+
{ "Why Rice?" = "why_rice.md" },
15+
{ "Ecosystem" = "ecosystem.md" },
16+
{ "Projects" = "projects.md" },
17+
{ "History" = "history.md" },
18+
{ "Migration" = "migration.md" },
19+
{ "Changelog" = "changelog.md" },
20+
]},
21+
{ "Getting Started" = "tutorial.md" },
22+
{ "Type Conversion" = [
23+
{ "Overview" = "types/overview.md" },
24+
{ "Type Conversion" = "types/conversion.md" },
25+
{ "Wrapping Types" = "types/wrapping.md" },
26+
{ "Strings" = "types/strings.md" },
27+
{ "Type Naming" = "types/naming.md" },
28+
{ "Custom Converters" = "types/converters.md" },
29+
{ "Type Verification" = "types/verification.md" },
30+
]},
31+
{ "Wrapping C++" = [
32+
{ "Overview" = "bindings/overview.md" },
33+
{ "Classes" = "bindings/classes.md" },
34+
{ "Constructors" = "bindings/constructors.md" },
35+
{ "Methods" = "bindings/methods.md" },
36+
{ "Overloaded Methods" = "bindings/overloaded_methods.md" },
37+
{ "Attributes" = "bindings/attributes.md" },
38+
{ "Constants" = "bindings/constants.md" },
39+
{ "Iterators" = "bindings/iterators.md" },
40+
{ "Enums" = "bindings/enums.md" },
41+
{ "Operators" = "bindings/operators.md" },
42+
{ "Exceptions" = "bindings/exceptions.md" },
43+
{ "Callbacks" = "bindings/callbacks.md" },
44+
{ "Advanced" = [
45+
{ "Directors" = "bindings/directors.md" },
46+
{ "GVL" = "bindings/gvl.md" },
47+
{ "Class Templates" = "bindings/class_templates.md" },
48+
{ "References" = "bindings/references.md" },
49+
{ "Pointers" = "bindings/pointers.md" },
50+
{ "Buffers" = "bindings/buffers.md" },
51+
{ "Memory Management" = "bindings/memory_management.md" },
52+
{ "Instance Registry" = "bindings/instance_registry.md" },
53+
]},
54+
]},
55+
{ "STL Support" = [
56+
{ "Overview" = "stl/stl.md" },
57+
{ "std::complex" = "stl/complex.md" },
58+
{ "std::exception" = "stl/exception.md" },
59+
{ "std::exception_ptr" = "stl/exception_ptr.md" },
60+
{ "std::function" = "stl/function.md" },
61+
{ "std::map" = "stl/map.md" },
62+
{ "std::multimap" = "stl/multimap.md" },
63+
{ "std::optional" = "stl/optional.md" },
64+
{ "std::ostream" = "stl/ostream.md" },
65+
{ "std::pair" = "stl/pair.md" },
66+
{ "std::reference_wrapper" = "stl/reference_wrapper.md" },
67+
{ "std::set" = "stl/set.md" },
68+
{ "std::shared_ptr" = "stl/shared_ptr.md" },
69+
{ "std::string" = "stl/string.md" },
70+
{ "std::string_view" = "stl/string_view.md" },
71+
{ "std::tuple" = "stl/tuple.md" },
72+
{ "std::type_index" = "stl/type_index.md" },
73+
{ "std::type_info" = "stl/type_info.md" },
74+
{ "std::unique_ptr" = "stl/unique_ptr.md" },
75+
{ "std::unordered_map" = "stl/unordered_map.md" },
76+
{ "std::variant" = "stl/variant.md" },
77+
{ "std::vector" = "stl/vector.md" },
78+
]},
79+
{ "Rice Classes" = [
80+
{ "Overview" = "cpp_api/overview.md" },
81+
{ "Object" = "cpp_api/object.md" },
82+
{ "Module" = "cpp_api/module.md" },
83+
{ "Class" = "cpp_api/class.md" },
84+
{ "String" = "cpp_api/string.md" },
85+
{ "Array" = "cpp_api/array.md" },
86+
{ "Hash" = "cpp_api/hash.md" },
87+
{ "Symbol" = "cpp_api/symbol.md" },
88+
{ "Struct" = "cpp_api/struct.md" },
89+
{ "Identifier" = "cpp_api/identifier.md" },
90+
]},
91+
{ "Ruby Runtime" = [
92+
{ "Overview" = "ruby_api/overview.md" },
93+
{ "Buffer" = "ruby_api/buffer.md" },
94+
{ "Pointer" = "ruby_api/pointer.md" },
95+
{ "Reference" = "ruby_api/reference.md" },
96+
{ "Registries" = "ruby_api/registries.md" },
97+
{ "Native Registry" = "ruby_api/native_registry.md" },
98+
{ "Type Registry" = "ruby_api/type_registry.md" },
99+
{ "Native" = "ruby_api/native.md" },
100+
{ "Parameter" = "ruby_api/parameter.md" },
101+
{ "Arg" = "ruby_api/arg.md" },
102+
]},
103+
{ "Packaging" = [
104+
{ "Overview" = "packaging/packaging.md" },
105+
{ "Build Settings" = "packaging/build_settings.md" },
106+
{ "extconf.rb" = "packaging/extconf.rb.md" },
107+
{ "CMake" = "packaging/cmake.md" },
108+
{ "RBS" = "packaging/rbs.md" },
109+
{ "Documentation" = "packaging/documentation.md" },
110+
]},
111+
{ "Architecture" = [
112+
{ "Overview" = "architecture/overview.md" },
113+
{ "Type Binding" = "architecture/type_binding.md" },
114+
{ "Method Binding" = "architecture/method_binding.md" },
115+
{ "Overload Resolution" = "architecture/overload_resolution.md" },
116+
{ "Registries" = "architecture/registries.md" },
117+
{ "Enumerators" = "architecture/enumerators.md" },
118+
{ "Incomplete Types" = "architecture/incomplete_types.md" },
119+
{ "Procs and Blocks" = "architecture/procs_and_blocks.md" },
120+
{ "Smart Pointers" = "architecture/smart_pointers.md" },
121+
]},
122+
]
123+
124+
[project.theme]
125+
126+
variant = "classic"
127+
128+
features = [
129+
"navigation.tabs",
130+
"navigation.tabs.sticky",
131+
"navigation.top",
132+
"search.highlight",
133+
"content.code.copy",
134+
"toc.integrate",
135+
]
136+
137+
# Palette toggle for light mode
138+
[[project.theme.palette]]
139+
scheme = "default"
140+
primary = "red"
141+
accent = "red"
142+
toggle.icon = "lucide/sun"
143+
toggle.name = "Switch to dark mode"
144+
145+
# Palette toggle for dark mode
146+
[[project.theme.palette]]
147+
scheme = "slate"
148+
primary = "red"
149+
accent = "red"
150+
toggle.icon = "lucide/moon"
151+
toggle.name = "Switch to light mode"
152+
153+
# Extensions
154+
[project.markdown_extensions.admonition]
155+
156+
[project.markdown_extensions.pymdownx.details]
157+
158+
[project.markdown_extensions.pymdownx.superfences]
159+
custom_fences = [
160+
{ name = "mermaid", class = "mermaid", format = "pymdownx.superfences.fence_code_format" },
161+
]
162+
163+
[project.markdown_extensions.pymdownx.highlight]
164+
anchor_linenums = true
165+
166+
[project.markdown_extensions.pymdownx.inlinehilite]
167+
168+
[project.markdown_extensions.pymdownx.snippets]
169+
170+
[project.markdown_extensions.tables]
171+
172+
[project.markdown_extensions.toc]
173+
permalink = true

0 commit comments

Comments
 (0)