Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
1204a2c
Prepare structure that allows to get the documentation files as the H…
JuliaEvseeva Nov 24, 2025
ffbaef6
Install the "Roboto", "PT Serif", and Font Awesome
JuliaEvseeva Nov 25, 2025
ec2fe36
Add the copyright
JuliaEvseeva Nov 25, 2025
80f7e48
Add functions needed for the docs path resolving
JuliaEvseeva Nov 25, 2025
20df4f2
Render images and links with the proper settings
JuliaEvseeva Nov 27, 2025
7e6328f
Add needed configurations to run the site locally
JuliaEvseeva Nov 27, 2025
f475d8e
Add the three column layout
JuliaEvseeva Nov 27, 2025
102e485
Create the three column layout and make the TOC interactive
JuliaEvseeva Nov 27, 2025
d77c708
Create the JS main for docs
JuliaEvseeva Nov 27, 2025
605fd47
Prepare structure for sidenav
JuliaEvseeva Nov 27, 2025
cb46cfd
Clean up sidenav styles
JuliaEvseeva Nov 27, 2025
a0bf77b
Implement the sidenav
JuliaEvseeva Nov 28, 2025
f62f975
Update TOC styles and improve the website preview
JuliaEvseeva Nov 28, 2025
f17cd03
Update the layout
JuliaEvseeva Nov 28, 2025
b2c9155
Implement the `next-prev` bottom navigation
JuliaEvseeva Nov 28, 2025
3323f3f
Open/close sidenav on mobiles
JuliaEvseeva Nov 28, 2025
fd952bd
Clean up styles on mobiles
JuliaEvseeva Nov 28, 2025
e1d306f
Improve the TOC component
JuliaEvseeva Nov 28, 2025
68e8137
Implement the interactive architecture diagram
JuliaEvseeva Nov 28, 2025
47c61c5
Render the "Overview" page in the sidenav
JuliaEvseeva Dec 1, 2025
1aa5ac5
Add the page title
JuliaEvseeva Dec 1, 2025
f3624e0
Fix the font path
JuliaEvseeva Dec 1, 2025
16d04b0
Improve the interactive TOC
JuliaEvseeva Dec 1, 2025
2ca1935
Implement the code blocks
JuliaEvseeva Dec 1, 2025
6b58899
Reorganize components
JuliaEvseeva Dec 1, 2025
338ef38
Clean up layout
JuliaEvseeva Dec 1, 2025
1e8776b
Move icons under `img`
JuliaEvseeva Dec 1, 2025
bf36d5a
Style the toggle theme icon
JuliaEvseeva Dec 1, 2025
5c4a133
Add styles for the note block
JuliaEvseeva Dec 1, 2025
bed4caa
Update position
JuliaEvseeva Dec 1, 2025
932423c
Merge branch 'hugo-assets' into hugo-theme-setup
JuliaEvseeva Dec 1, 2025
5654793
Clean up one article for testing and add variables
JuliaEvseeva Dec 1, 2025
1f79cfe
Change the theme priority
JuliaEvseeva Dec 2, 2025
ddfb0d7
Add the test config for the next major version
JuliaEvseeva Dec 2, 2025
802ebe0
Clean up link styles
JuliaEvseeva Dec 2, 2025
701e950
Update code block style for the light theme
JuliaEvseeva Dec 2, 2025
d29687c
Add the additional check for the TOC scrolling
JuliaEvseeva Dec 2, 2025
bf2b4fe
Implement the category cards
JuliaEvseeva Dec 2, 2025
3fe17bd
Clean up sidenav styles
JuliaEvseeva Dec 2, 2025
4fc3232
Add shortcodes for resources pages
JuliaEvseeva Dec 2, 2025
453ed63
Add the TOC item `line-height`
JuliaEvseeva Dec 2, 2025
f901f4e
Place the `Full diagram view` link before the diagram
JuliaEvseeva Dec 2, 2025
3670382
Render links inside cards
JuliaEvseeva Dec 2, 2025
8a8a931
Update the sticky element max-height
JuliaEvseeva Dec 2, 2025
af701ca
Add the anchor icons near each title in documentation
JuliaEvseeva Dec 3, 2025
f566768
Clean up the link rendering
JuliaEvseeva Dec 3, 2025
8bc6f98
Make the clickable area bigger for the bottom nav
JuliaEvseeva Dec 3, 2025
8553187
Add a check that the page is exists
JuliaEvseeva Dec 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .idea/copyright/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions _hugo-site/.browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
> 0.5%
last 2 versions
28 changes: 28 additions & 0 deletions _hugo-site/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Hugo cache files
/resources
public

# Cache folder for Hugo Modules
_vendor

# Node modules
node_modules

# Used to control concurrency between multiple Hugo instances
.hugo_build.lock

# Needed for navigation/intellisense help inside code editors
jsconfig.json

# IntelliJ IDEA modules and interim config files
*.iml
.idea/*.xml
.idea/.name
.idea/artifacts
.idea/libraries
.idea/modules
.idea/shelf

!.idea/misc.xml
!.idea/codeStyles/
!.idea/copyright/
64 changes: 64 additions & 0 deletions _hugo-site/assets/scss/docs/_home.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/*!
* Copyright 2025, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
* disclaimer.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

.home {
background-color: $body-light-gray-color;
font-family: $main-font;

.container {
background-color: white;
border: 1px solid #e6ecf1;
max-width: 760px;
padding: 48px 56px;

@media (max-width: $phone-medium) {
padding: 24px;
}

h1 {
font-size: $font-size--xxxl;
font-weight: 300;
color: rgba(0, 0, 0, .4);
line-height: 1.2;
margin-bottom: 32px;
padding-top: 16px;

@media (max-width: $phone-medium) {
font-size: $font-size--xl;
}
}

a {
color: $main-brand-color;
}

.subtle {
color: rgba(0, 0, 0, .46);
margin-top: 40px;
font-size: 14px;
}
}
}
33 changes: 33 additions & 0 deletions _hugo-site/assets/scss/docs/_layout.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*!
* Copyright 2025, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
* disclaimer.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

.page-content {
.three-column {
.sticky-col {
top: 0;
}
}
}
38 changes: 38 additions & 0 deletions _hugo-site/assets/scss/main.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*!
* Copyright 2025, TeamDev. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Redistribution and use in source and/or binary forms, with or without
* modification, must retain the above copyright notice and the following
* disclaimer.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

@import "node_modules/bootstrap/scss/bootstrap";

@import "docs-common";
@import "docs";

/*
Styles that should only be used to build this site.
They should not be imported into the main spine.io site
to not override or duplicate styles there.
*/
@import "docs/home";
@import "docs/layout";
47 changes: 47 additions & 0 deletions _hugo-site/config/_default/hugo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
baseURL = 'https://spine.io/'
languageCode = 'en-us'
title = 'Documentation preview'

[module]
# First theme has higher priority than later ones.
[[module.imports]]
path = '../../_hugo-theme'
[[module.imports]]
path = 'github.com/TeamDev-Ltd/site-commons'

# Enables HTML rendering in markdown files.
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[markup.highlight]
noClasses = false

# Version control config.
# To change the current main version, update only the `path` parameter.
# Read more in the `SPINE_RELEASE.md` guide.
#
# The same settings should be copied to the `SpineEventEngine/SpineEventEngine.github.io`
# project due to the issue with the cascade arrays:
# https://github.com/gohugoio/hugo/issues/13869
[[cascade]]
[cascade.params]
url = 'docs/'
[cascade.target]
# The path to the `_index.md` of the current main version.
path = '{/docs/1}'
kind = 'section'
[[cascade]]
[cascade.params]
url = 'docs/:sections[2:]/'
[cascade.target]
# The path to the current main version.
path = '{/docs/1/**}'
kind = 'section'
[[cascade]]
[cascade.params]
url = 'docs/:sections[2:]/:contentbasename/'
[cascade.target]
# The path to the current main version.
path = '{/docs/1/**}'
kind = 'page'
14 changes: 14 additions & 0 deletions _hugo-site/content/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: Documentation preview
---

# Welcome to Spine Documentation

Go to the [documentation section](docs/).

Read a [guide][authoring] on adding the content to the documentation.

<p class="subtle">The page is only available on this site and will not be
rendered on the <a href="https://spine.io">spine.io</a>.</p>

[authoring]: https://github.com/SpineEventEngine/SpineEventEngine.github.io/blob/master/AUTHORING.md
5 changes: 5 additions & 0 deletions _hugo-site/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module github.com/SpineEventEngine/documentation/_hugo-site

go 1.22.0

require github.com/TeamDev-Ltd/site-commons v0.0.0-20251120141426-5f3b352019cd // indirect
2 changes: 2 additions & 0 deletions _hugo-site/go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github.com/TeamDev-Ltd/site-commons v0.0.0-20251120141426-5f3b352019cd h1:Y2fDtQOb628jO1Niky7Xfvs/mVdXmYeCwc+TdHaVa04=
github.com/TeamDev-Ltd/site-commons v0.0.0-20251120141426-5f3b352019cd/go.mod h1:atDeksDWBzsIidpW6Ivz2yYHwp2JPa1i1KXIxkctQ3c=
15 changes: 15 additions & 0 deletions _hugo-site/layouts/_default/baseof.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html lang="en"
itemscope itemtype="https://schema.org/WebPage"
prefix="og: http://ogp.me/ns#">
{{ partial "head/head.html" . }}
{{ $bodyClass := partial "functions/get-body-class.html" . }}
<body class="{{ $bodyClass }}">
<div class="wrapper">
<div class="content">
{{ block "main" . }}{{ end }}
</div>
</div>
{{ partial "scripts/body-scripts.html" . }}
</body>
</html>
3 changes: 3 additions & 0 deletions _hugo-site/layouts/_default/page.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{ define "main" }}
{{ .Content }}
{{ end }}
3 changes: 3 additions & 0 deletions _hugo-site/layouts/_default/section.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{ define "main" }}
{{ .Content }}
{{ end }}
35 changes: 35 additions & 0 deletions _hugo-site/layouts/_partials/head/head.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!--
~ Copyright 2025, TeamDev. All rights reserved.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Redistribution and use in source and/or binary forms, with or without
~ modification, must retain the above copyright notice and the following
~ disclaimer.
~
~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
~ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
~ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
~ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
~ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
~ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
~ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
~ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
~ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
~ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
~ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{ partial "head/title.html" . }}
{{ partial "docs/head/code-theme.html" . }}
{{ partial "head/stylesheet.html" . }}
{{ partial "scripts/head-scripts.html" . }}
</head>
43 changes: 43 additions & 0 deletions _hugo-site/layouts/_partials/head/stylesheet.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<!--
~ Copyright 2025, TeamDev. All rights reserved.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Redistribution and use in source and/or binary forms, with or without
~ modification, must retain the above copyright notice and the following
~ disclaimer.
~
~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
~ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
~ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
~ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
~ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
~ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
~ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
~ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
~ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
~ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
~ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->

{{ partial "docs/head/icon-font.html" . }}

{{ $options := (dict
"targetPath" "main.css"
"outputStyle" "compressed"
"includePaths" (slice "node_modules")
) }}

{{ $postCSSConfig := dict "config" "postcss.config.js" }}
{{ $scssPath := "scss/main.scss" }}
{{ $style := resources.Get $scssPath | toCSS $options | postCSS $postCSSConfig }}

{{ if ne hugo.Environment "development" }}
{{ $style = $style | resources.Minify | fingerprint }}
{{ end }}

<link rel="stylesheet" href="{{ $style.RelPermalink }}" crossorigin="anonymous">
30 changes: 30 additions & 0 deletions _hugo-site/layouts/_partials/head/title.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!--
~ Copyright 2025, TeamDev. All rights reserved.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Redistribution and use in source and/or binary forms, with or without
~ modification, must retain the above copyright notice and the following
~ disclaimer.
~
~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
~ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
~ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
~ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
~ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
~ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
~ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
~ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
~ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
~ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
~ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->

{{ $title := .Title | default site.Params.title }}
{{ $title = replace $title "&nbsp;" " " }}

<title>{{ $title }}</title>
Loading