Updated Hugo setup.

This commit is contained in:
John Wellbelove 2026-03-22 12:23:20 +00:00
parent 8521ece19e
commit e053c0d45a
27 changed files with 2992 additions and 169 deletions

View File

@ -3,9 +3,6 @@ title: "Embedded Template Library"
alwaysopen: true
---
---
## Motivation
@ -15,8 +12,6 @@ In many embedded applications, dynamic memory allocation is discouraged or outri
Whats needed is a template library specifically designed for embedded systems — one that allows developers to define fixed or maximum sizes for containers and other objects at compile time. Additionally, since many embedded toolchains still lack full support for standards beyond C++03, it's valuable to have access to a library that backports select features from later versions of the C++ Standard Library.
---
## About the ETL
@ -36,8 +31,6 @@ The library is compatible with any compiler that supports C++03 or later.
Help on integrating the ETL with your project may be found here.
---
## Key Features of the ETL
- Actively Maintained: Developed and maintained on GitHub since 2014.
@ -74,8 +67,6 @@ Continuous integration via GitHub Actions.
- Support: Free email support available. A Slack group is available. Paid support on request.
- Archived: A snapshot of the ETL is preserved in the Arctic Code Vault for long-term digital preservation.
---
## Support the ETL
### Is the ETL free?
Maintaining the ETL can take a lot of man-hours of work, but unfortunately it doesn't pay the bills. When I have to take on paying work, the ETL gets a lot less attention. So if you have found the library is an important component in your work and you would like to help out, then please consider by supporting the project.

View File

@ -1,4 +1,3 @@
---
title: "Callbacks"
alwaysopen: false
---

View File

@ -3,10 +3,13 @@ title: "delegate"
weight: 1
---
A small, in-place function wrapper that stores callable objects inside a fixed-size buffer (no dynamic allocation). It supports free functions, member functions, functors, and lambdas, with both runtime and compile-time bindings.
---
#### Supported: 20.45.0
#### Header: `delegate.h`
#### Support: `20.45.0`
#### Similar to: `std::function`
A small, in-place function wrapper that stores callable objects inside a fixed-size buffer (no dynamic allocation). It supports free functions, member functions, functors, and lambdas, with both runtime and compile-time bindings.
```C++
template <typename TSignature,
@ -31,8 +34,6 @@ The defaults are defined as follows:-
Set your own definitions if you require different defaults.
---
## Template Parameters
```C++
@ -53,8 +54,6 @@ Object_Alignment
Alignment of the internal storage buffer.
Defaults to `ETL_DEFAULT_INPLACE_FUNCTION_ALIGNMENT`.
---
## Exceptions
```C++
@ -67,8 +66,6 @@ etl::inplace_function_uninitialized
```
Thrown (via `ETL_ASSERT`) when invoked without a target.
---
## Member Types
```C++
@ -83,8 +80,6 @@ return_type
argument_types
```
---
## Constructors
Default constructor.
@ -97,8 +92,6 @@ Construction from an object + member function pointer (const or non-const).
Construction from a lambda/functor (const or non-const).
---
## Assignment
Copy/move assignment.
@ -109,8 +102,6 @@ Assignment from function pointer.
Assignment from lambda/functor.
---
## Invocation
```C++
@ -129,8 +120,6 @@ call_or(...)
```
Invokes the target or a fallback callable.
---
## Observers
```C++
@ -143,8 +132,6 @@ explicit operator bool() const
```
Returns the result of `is_valid()`
---
## Modifiers
```C++
@ -157,8 +144,6 @@ void swap(inplace_function& other)
```
Swaps with another inplace_function.
---
## Storage Introspection
```C++
@ -166,14 +151,11 @@ static constexpr size_t size()
```
Returns the size of the internal storage.
```C++
static constexpr size_t alignment()
```
Returns the alignment of the internal storage.
---
## Compile-Time Binding (No Payload)
### Free function
@ -214,8 +196,6 @@ set<T, Instance>()
create<T, Instance>()
```
---
## Helper Aliases
```C++
@ -226,8 +206,6 @@ etl::inplace_function_for<TSignature, TStorage>
etl::inplace_function_for_any<TSignature, T0, ...>
```
---
## Helper Factories
```C++
@ -248,8 +226,6 @@ make_inplace_function<TSignature>(function_like)
C++17-only overloads also exist for compile-time binding.
---
## Example
```C++
@ -277,8 +253,6 @@ void example()
}
```
---
## Notes
If the callable object is larger than `Object_Size` or requires stricter alignment than `Object_Alignment`, compilation fails with a `static_assert`.
@ -286,7 +260,6 @@ If the callable object is larger than `Object_Size` or requires stricter alignme
`operator()` asserts when called without a target; use `call_if` or `call_or` to avoid this.
Prefer `inplace_function_for`, `inplace_function_for_any` or `make_inplace_function` to deduce storage sizes safely.

View File

@ -3,10 +3,13 @@ title: "inplace_function"
weight: 1
---
A small, in-place function wrapper that stores callable objects inside a fixed-size buffer (no dynamic allocation). It supports free functions, member functions, functors, and lambdas, with both runtime and compile-time bindings.
---
#### Supported: `20.45.0`
#### Header: `inplace_function.h`
#### Support: `20.45.0`
#### Similar to: `std::function`
A small, in-place function wrapper that stores callable objects inside a fixed-size buffer (no dynamic allocation). It supports free functions, member functions, functors, and lambdas, with both runtime and compile-time bindings.
```C++
template <typename TSignature,
@ -31,8 +34,6 @@ The defaults are defined as follows:-
Set your own definitions in `etl_profile.h` if you require different defaults.
---
## Template Parameters
```C++
@ -53,8 +54,6 @@ Object_Alignment
Alignment of the internal storage buffer.
Defaults to `ETL_DEFAULT_INPLACE_FUNCTION_ALIGNMENT`.
---
## Exceptions
```C++
@ -67,8 +66,6 @@ etl::inplace_function_uninitialized
```
Thrown (via `ETL_ASSERT`) when invoked without a target.
---
## Member Types
```C++
@ -83,8 +80,6 @@ return_type
argument_types
```
---
## Constructors
Default constructor.
@ -97,8 +92,6 @@ Construction from an object + member function pointer (const or non-const).
Construction from a lambda/functor (const or non-const).
---
## Assignment
Copy/move assignment.
@ -109,8 +102,6 @@ Assignment from function pointer.
Assignment from lambda/functor.
---
## Invocation
```C++
@ -129,8 +120,6 @@ call_or(...)
```
Invokes the target or a fallback callable.
---
## Observers
```C++
@ -143,8 +132,6 @@ explicit operator bool() const
```
Returns the result of `is_valid()`
---
## Modifiers
```C++
@ -157,8 +144,6 @@ void swap(inplace_function& other)
```
Swaps with another inplace_function.
---
## Storage Introspection
```C++
@ -166,14 +151,11 @@ static constexpr size_t size()
```
Returns the size of the internal storage.
```C++
static constexpr size_t alignment()
```
Returns the alignment of the internal storage.
---
## Compile-Time Binding (No Payload)
### Free function
@ -214,8 +196,6 @@ set<T, Instance>()
create<T, Instance>()
```
---
## Helper Aliases
```C++
@ -226,8 +206,6 @@ etl::inplace_function_for<TSignature, TStorage>
etl::inplace_function_for_any<TSignature, T0, ...>
```
---
## Helper Factories
```C++
@ -248,8 +226,6 @@ make_inplace_function<TSignature>(function_like)
C++17-only overloads also exist for compile-time binding.
---
## Example
```C++
@ -277,8 +253,6 @@ void example()
}
```
---
## Notes
If the callable object is larger than `Object_Size` or requires stricter alignment than `Object_Alignment`, compilation fails with a `static_assert`.
@ -286,7 +260,6 @@ If the callable object is larger than `Object_Size` or requires stricter alignme
`operator()` asserts when called without a target; use `call_if` or `call_or` to avoid this.
Prefer `inplace_function_for`, `inplace_function_for_any` or `make_inplace_function` to deduce storage sizes safely.

View File

@ -1,4 +1,3 @@
---
title: "Codecs"
alwaysopen: false
---

View File

@ -0,0 +1,3 @@
---
title: "Containers"
---

View File

@ -0,0 +1,3 @@
---
title: "vector"
---

View File

@ -1,94 +1,90 @@
.book-page {
background-color: white;
h1 {
font-family: Tahoma, sans-serif !important;
font-style: normal !important;
font-weight: normal !important;
margin-top: 0.5em !important;
margin-bottom: 0.0em !important;
color: coral !important;
}
.highlight {
background-color: white;
h2 {
font-family: Tahoma, sans-serif !important;
font-style: normal !important;
font-weight: normal !important;
font-size: 150% !important;
margin-top: 1.0em !important;
margin-bottom: 0.5em !important;
border-bottom: 2px solid #333333 !important;
color: #4884cc !important;
}
html body h1 {
font-family: Tahoma, sans-serif;
font-style: normal;
font-weight: normal;
margin-top: 0em;
margin-bottom: 0.5em;
color: coral;
}
html body h2 {
font-family: Tahoma, sans-serif;
font-style: normal;
font-weight: normal;
font-size: 150%;
h3 {
font-family: Tahoma, sans-serif !important;
font-style: normal !important;
font-weight: normal !important;
font-size: 130% !important;
margin-top: 0.5em !important;
margin-bottom: 0.5em !important;
color: royalblue;
color: green !important;
}
html body h3 {
font-family: Tahoma, sans-serif;
font-style: normal;
font-weight: normal;
font-size: 130%;
color: green;
h4 {
font-family: Tahoma, sans-serif !important;
font-style: normal !important;
font-weight: normal !important;
font-size: 110% !important;
margin-top: 0.5em !important;
margin-bottom: 0.5em !important;
color: green !important;
}
html body h4 {
font-family: Tahoma, sans-serif;
font-style: normal;
font-weight: normal;
font-size: 110%;
color: green;
dl {
font-family: Consolas, monospace !important;
font-style: normal !important;
font-weight: normal !important;
font-size: 1rem !important;
color: black !important;
background-color: #f0f0f0 !important;
}
html body dl {
font-family: Consolas, monospace;
font-style: normal;
font-weight: normal;
font-size: 1rem;
dl dt code {
font-family: Consolas, monospace !important;
font-style: normal !important;
font-weight: normal !important;
font-size: 1rem !important;
color: black;
background-color: #e7e7e7 !important;
background-color: #f0f0f0 !important;
border-style: none !important
}
html body dl dt code {
font-family: Consolas, monospace;
font-style: normal;
font-weight: normal;
font-size: 1rem;
color: black;
background-color: #e7e7e7 !important;
border-style: none
dl dd {
font-family: Tahoma, sans-serif !important;
font-style: normal !important;
font-weight: normal !important;
font-size: 1rem !important;
color: black !important;
background-color: #f0f0f0 !important;
}
html body dl dd {
font-family: Tahoma, sans-serif;
font-style: normal;
font-weight: normal;
font-size: 1rem;
color: black;
background-color: #e7e7e7 !important;
}
code{
font-family: Consolas, monospace;
font-style: normal;
font-weight: normal;
font-size: 1rem;
color: black;
background-color: #e7e7e7 !important;
code {
font-family: Consolas, monospace !important;
font-style: normal !important;
font-weight: normal !important;
font-size: 1rem !important;
color: black !important;
background-color: #f0f0f0 !important;
border: 0 none !important;
}
pre,
pre code {
font-family: Consolas, monospace;
font-style: normal;
font-weight: normal;
font-size: 1rem;
color: black;
background-color: #e7e7e7 !important;
border: 0 none !important;
font-family: Consolas, monospace !important;
font-style: normal !important;
font-weight: normal !important;
font-size: 1rem !important;
color: black !important;
background-color: #f0f0f0 !important;
border: none !important;
}
.markdown pre code {
@ -100,19 +96,21 @@ pre code {
padding-bottom: 0.3rem !important;
}
html body hr {
hr {
height: 2px !important;
background-color: darkblue !important;
background-color: #333333 !important;
border: none !important;
margin-top: 1px !important;
margin-top: 10px !important;
margin-bottom: 1px !important;
}
html body p {
font-family: Tahoma, sans-serif;
font-style: normal;
font-weight: normal;
font-size: 110%;
color: black;
p {
font-family: Tahoma, sans-serif !important;
font-style: normal !important;
font-weight: normal !important;
font-size: 110% !important;
color: black !important;
background-color: white !important;
}

View File

@ -1,4 +1,3 @@
---
title: "Ranges"
alwaysopen: false
---

2842
docs/releases/_index.md Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,3 @@
---
title: "Source"
alwaysopen: false
---

3
docs/strings/_index.md Normal file
View File

@ -0,0 +1,3 @@
---
title: "Strings"
---

View File

@ -1,9 +1,15 @@
.hx\:font-extrabold {
font-family: Tahoma, sans-serif !important;
font-size: 1.5rem !important;
color: #315887 !important;
}
h1 {
font-family: Tahoma, sans-serif !important;
font-style: normal !important;
font-weight: normal !important;
margin-top: 0em !important;
margin-bottom: 0.5em !important;
margin-top: 0.5em !important;
margin-bottom: 0.0em !important;
color: coral !important;
}
@ -12,9 +18,10 @@ h2 {
font-style: normal !important;
font-weight: normal !important;
font-size: 150% !important;
margin-top: 0.5em !important;
margin-top: 1.0em !important;
margin-bottom: 0.5em !important;
color: royalblue !important;
border-bottom: 2px solid #333333 !important;
color: #4884cc !important;
}
h3 {
@ -22,6 +29,8 @@ h3 {
font-style: normal !important;
font-weight: normal !important;
font-size: 130% !important;
margin-top: 0.5em !important;
margin-bottom: 0.5em !important;
color: green !important;
}
@ -30,6 +39,8 @@ h4 {
font-style: normal !important;
font-weight: normal !important;
font-size: 110% !important;
margin-top: 0.5em !important;
margin-bottom: 0.5em !important;
color: green !important;
}
@ -39,7 +50,7 @@ dl {
font-weight: normal !important;
font-size: 1rem !important;
color: black !important;
background-color: #e7e7e7 !important;
background-color: #f0f0f0 !important;
}
dl dt code {
@ -48,7 +59,7 @@ dl dt code {
font-weight: normal !important;
font-size: 1rem !important;
color: black;
background-color: #e7e7e7 !important;
background-color: #f0f0f0 !important;
border-style: none !important
}
@ -58,7 +69,7 @@ dl dd {
font-weight: normal !important;
font-size: 1rem !important;
color: black !important;
background-color: #e7e7e7 !important;
background-color: #f0f0f0 !important;
}
code {
@ -67,7 +78,7 @@ code {
font-weight: normal !important;
font-size: 1rem !important;
color: black !important;
background-color: #e7e7e7 !important;
background-color: #f0f0f0 !important;
border: 0 none !important;
}
@ -78,7 +89,7 @@ pre code {
font-weight: normal !important;
font-size: 1rem !important;
color: black !important;
background-color: #e7e7e7 !important;
background-color: #f0f0f0 !important;
border: none !important;
}
@ -93,7 +104,7 @@ pre code {
hr {
height: 2px !important;
background-color: midnightblue !important;
background-color: #333333 !important;
border: none !important;
margin-top: 10px !important;
margin-bottom: 1px !important;

View File

@ -1,11 +1,12 @@
baseURL = 'http://localhost/'
#baseURL = 'https://www.etlcpp.com/hugo/'
languageCode = 'en-gb'
title = 'Embedded Template Library'
theme = 'hextra'
[markup]
[markup.highlight]
style = "perldoc"
style = "github"
[markup.goldmark.renderer]
unsafe = true
@ -20,3 +21,9 @@ theme = 'hextra'
customCSS = ["css/custom.css"]
contentDir = "content/docs"
[params.navbar]
displayTitle = true
[params.navbar.logo]
path = "images/logo.png"
link = "/"

View File

@ -1,10 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; url=/docs/">
<script>window.location.replace("/docs/");</script>
<meta http-equiv="refresh" content="0; url={{ .Site.BaseURL }}docs/">
<script>window.location.replace("{{ .Site.BaseURL }}docs/");</script>
</head>
<body>
<a href="/docs/">Click here</a>
<a href="{{ .Site.BaseURL }}docs/">Click here</a>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

BIN
hugo/static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

1
hugo/static/favicon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
images/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
images/favicon-96.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

1
images/favicon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 27 KiB

21
images/site.webmanifest Normal file
View File

@ -0,0 +1,21 @@
{
"name": "MyWebSite",
"short_name": "MySite",
"icons": [
{
"src": "/web-app-manifest-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/web-app-manifest-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB