Updated Hugo setup.
@ -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
|
||||
|
||||
What’s 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.
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
---
|
||||
title: "Callbacks"
|
||||
alwaysopen: false
|
||||
---
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
---
|
||||
title: "Codecs"
|
||||
alwaysopen: false
|
||||
---
|
||||
|
||||
3
docs/containers/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
title: "Containers"
|
||||
---
|
||||
3
docs/containers/vector/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
title: "vector"
|
||||
---
|
||||
154
docs/custom.css
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
---
|
||||
title: "Ranges"
|
||||
alwaysopen: false
|
||||
---
|
||||
|
||||
2842
docs/releases/_index.md
Normal file
@ -1,4 +1,3 @@
|
||||
---
|
||||
title: "Source"
|
||||
alwaysopen: false
|
||||
---
|
||||
|
||||
3
docs/strings/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
title: "Strings"
|
||||
---
|
||||
@ -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;
|
||||
|
||||
@ -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 = "/"
|
||||
@ -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>
|
||||
BIN
hugo/static/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
hugo/static/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
BIN
hugo/static/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
1
hugo/static/favicon.svg
Normal file
|
After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
images/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
images/favicon-96.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
1
images/favicon.svg
Normal file
|
After Width: | Height: | Size: 27 KiB |
21
images/site.webmanifest
Normal 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"
|
||||
}
|
||||
BIN
images/web-app-manifest-192x192.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
images/web-app-manifest-512x512.png
Normal file
|
After Width: | Height: | Size: 28 KiB |