Skip to content

Commit 111338d

Browse files
committed
Documentation now added to Build folder
1 parent 0576e4a commit 111338d

File tree

5 files changed

+117
-32
lines changed

5 files changed

+117
-32
lines changed

Documentation/hugo-local.toml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
baseURL = "/"
2+
title = "Overload Documentation"
3+
theme = "hugo-geekdoc"
4+
relativeURLs = true
5+
uglyURLs = true
6+
7+
pluralizeListTitles = false
8+
9+
# Geekdoc required configuration
10+
pygmentsUseClasses = true
11+
pygmentsCodeFences = true
12+
disablePathToLower = true
13+
14+
# Required if you want to render robots.txt template
15+
enableRobotsTXT = true
16+
17+
[caches]
18+
[caches.images]
19+
dir = ':cacheDir/images'
20+
21+
# Needed for mermaid shortcodes
22+
[markup]
23+
[markup.goldmark.renderer]
24+
# Needed for mermaid shortcode
25+
unsafe = true
26+
[markup.tableOfContents]
27+
startLevel = 1
28+
endLevel = 9
29+
30+
[taxonomies]
31+
tag = "tags"
32+
33+
[params]
34+
# (Optional, default false) Collapse all menu entries, can not be overwritten
35+
# per page if enabled. Can be enabled per page via 'geekdocCollapseSection'.
36+
geekdocCollapseAllSections = true

Documentation/premake5.lua

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
-- Function to check if Hugo is available
2+
function isHugoAvailable()
3+
local handle = io.popen("hugo version 2>nul || hugo version 2>/dev/null")
4+
if handle then
5+
local result = handle:read("*a")
6+
handle:close()
7+
return result and result ~= ""
8+
end
9+
return false
10+
end
11+
12+
project "Documentation"
13+
kind "Makefile"
14+
targetdir (outputdir .. "%{cfg.buildcfg}/%{prj.name}")
15+
objdir (objoutdir .. "%{cfg.buildcfg}/%{prj.name}")
16+
17+
files {
18+
"premake5.lua",
19+
"hugo.toml",
20+
"hugo-local.toml",
21+
"content/**.md"
22+
}
23+
24+
if isHugoAvailable() then
25+
buildcommands {
26+
"hugo --gc --minify --quiet --cleanDestinationDir --destination=\"" .. outputdir .. "%{cfg.buildcfg}/%{prj.name}" .. "\" --config hugo-local.toml",
27+
"@echo Documentation generated"
28+
}
29+
else
30+
print("Hugo not found - skipping build commands for Documentation project")
31+
buildcommands {
32+
"@echo Hugo not available - documentation build skipped"
33+
}
34+
end

Sources/Overload/OvEditor/premake5.lua

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,17 @@ project "OvEditor"
6161
"OvRendering",
6262
"OvTools",
6363
"OvUI",
64-
"OvWindowing"
65-
}
64+
"OvWindowing",
65+
66+
-- Documentation
67+
"Documentation"
68+
}
6669

6770
postbuildcommands {
6871
"for /f \"delims=|\" %%i in ('dir /B /S \"%{dependdir}\\*.dll\"') do xcopy /Q /Y \"%%i\" \"%{outputdir}%{cfg.buildcfg}\\%{prj.name}\"",
6972

73+
"xcopy \"%{outputdir}%{cfg.buildcfg}\\Documentation\" \"%{builddir}%{cfg.buildcfg}\\Documentation\" /y /i /r /e /q",
74+
7075
"rmdir /s /q \"%{builddir}%{cfg.buildcfg}\\Data\"",
7176

7277
"xcopy \"%{resdir}Engine\\*\" \"%{builddir}%{cfg.buildcfg}\\Data\\Engine\" /y /i /r /e /q",

Sources/Overload/OvEditor/src/OvEditor/Panels/MenuBar.cpp

Lines changed: 39 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,34 @@
44
* @licence: MIT
55
*/
66

7-
#include <OvTools/Utils/SystemCalls.h>
8-
9-
#include <OvCore/ECS/Components/CCamera.h>
10-
#include <OvCore/ECS/Components/CPointLight.h>
11-
#include <OvCore/ECS/Components/CDirectionalLight.h>
12-
#include <OvCore/ECS/Components/CSpotLight.h>
137
#include <OvCore/ECS/Components/CAmbientBoxLight.h>
148
#include <OvCore/ECS/Components/CAmbientSphereLight.h>
9+
#include <OvCore/ECS/Components/CAudioListener.h>
10+
#include <OvCore/ECS/Components/CAudioSource.h>
11+
#include <OvCore/ECS/Components/CCamera.h>
12+
#include <OvCore/ECS/Components/CDirectionalLight.h>
1513
#include <OvCore/ECS/Components/CPhysicalBox.h>
16-
#include <OvCore/ECS/Components/CPhysicalSphere.h>
1714
#include <OvCore/ECS/Components/CPhysicalCapsule.h>
18-
#include <OvCore/ECS/Components/CAudioSource.h>
19-
#include <OvCore/ECS/Components/CAudioListener.h>
15+
#include <OvCore/ECS/Components/CPhysicalSphere.h>
16+
#include <OvCore/ECS/Components/CPointLight.h>
17+
#include <OvCore/ECS/Components/CSpotLight.h>
18+
19+
#include <OvEditor/Core/EditorActions.h>
20+
#include <OvEditor/Panels/AssetView.h>
21+
#include <OvEditor/Panels/Console.h>
22+
#include <OvEditor/Panels/MenuBar.h>
23+
#include <OvEditor/Panels/SceneView.h>
24+
#include <OvEditor/Settings/EditorSettings.h>
25+
#include <OvEditor/Utils/ActorCreationMenu.h>
26+
27+
#include <OvTools/Utils/SystemCalls.h>
2028

21-
#include <OvUI/Widgets/Visual/Separator.h>
22-
#include <OvUI/Widgets/Sliders/SliderInt.h>
23-
#include <OvUI/Widgets/Sliders/SliderFloat.h>
2429
#include <OvUI/Widgets/Drags/DragFloat.h>
2530
#include <OvUI/Widgets/Selection/ColorEdit.h>
2631
#include <OvUI/Widgets/Selection/ComboBox.h>
27-
28-
#include "OvEditor/Core/EditorActions.h"
29-
#include "OvEditor/Panels/AssetView.h"
30-
#include "OvEditor/Panels/Console.h"
31-
#include "OvEditor/Panels/MenuBar.h"
32-
#include "OvEditor/Panels/SceneView.h"
33-
#include "OvEditor/Settings/EditorSettings.h"
34-
#include "OvEditor/Utils/ActorCreationMenu.h"
32+
#include <OvUI/Widgets/Sliders/SliderFloat.h>
33+
#include <OvUI/Widgets/Sliders/SliderInt.h>
34+
#include <OvUI/Widgets/Visual/Separator.h>
3535

3636
using namespace OvUI::Panels;
3737
using namespace OvUI::Widgets;
@@ -225,7 +225,7 @@ void OvEditor::Panels::MenuBar::CreateWindowMenu()
225225
void OvEditor::Panels::MenuBar::CreateActorsMenu()
226226
{
227227
auto& actorsMenu = CreateWidget<MenuList>("Actors");
228-
Utils::ActorCreationMenu::GenerateActorCreationMenu(actorsMenu);
228+
Utils::ActorCreationMenu::GenerateActorCreationMenu(actorsMenu);
229229
}
230230

231231
void OvEditor::Panels::MenuBar::CreateResourcesMenu()
@@ -254,15 +254,24 @@ void OvEditor::Panels::MenuBar::CreateLayoutMenu()
254254

255255
void OvEditor::Panels::MenuBar::CreateHelpMenu()
256256
{
257-
auto& helpMenu = CreateWidget<MenuList>("Help");
258-
helpMenu.CreateWidget<MenuItem>("GitHub").ClickedEvent += [] {OvTools::Utils::SystemCalls::OpenURL("https://github.com/Overload-Technologies/Overload"); };
259-
helpMenu.CreateWidget<MenuItem>("Tutorials").ClickedEvent += [] {OvTools::Utils::SystemCalls::OpenURL("https://github.com/Overload-Technologies/Overload/wiki/Tutorials"); };
260-
helpMenu.CreateWidget<MenuItem>("Scripting API").ClickedEvent += [] {OvTools::Utils::SystemCalls::OpenURL("https://github.com/Overload-Technologies/Overload/wiki/Scripting-API"); };
261-
helpMenu.CreateWidget<Visual::Separator>();
262-
helpMenu.CreateWidget<MenuItem>("Bug Report").ClickedEvent += [] {OvTools::Utils::SystemCalls::OpenURL("https://github.com/Overload-Technologies/Overload/issues/new?assignees=&labels=Bug&template=bug_report.md&title="); };
263-
helpMenu.CreateWidget<MenuItem>("Feature Request").ClickedEvent += [] {OvTools::Utils::SystemCalls::OpenURL("https://github.com/Overload-Technologies/Overload/issues/new?assignees=&labels=Feature&template=feature_request.md&title="); };
264-
helpMenu.CreateWidget<Visual::Separator>();
265-
helpMenu.CreateWidget<Texts::Text>("Version: " + std::string(OVERLOAD_VERSION));
257+
auto& helpMenu = CreateWidget<MenuList>("Help");
258+
helpMenu.CreateWidget<MenuItem>("GitHub").ClickedEvent += [] {OvTools::Utils::SystemCalls::OpenURL("https://github.com/Overload-Technologies/Overload"); };
259+
helpMenu.CreateWidget<MenuItem>("Documentation").ClickedEvent += [] {
260+
const auto documentationPath = std::filesystem::path{} / "Documentation" / "index.html";
261+
if (std::filesystem::exists(documentationPath))
262+
{
263+
OvTools::Utils::SystemCalls::OpenFile(documentationPath.string());
264+
}
265+
else
266+
{
267+
OvTools::Utils::SystemCalls::OpenURL("https://doc.overloadengine.org");
268+
}
269+
};
270+
helpMenu.CreateWidget<Visual::Separator>();
271+
helpMenu.CreateWidget<MenuItem>("Bug Report").ClickedEvent += [] {OvTools::Utils::SystemCalls::OpenURL("https://github.com/Overload-Technologies/Overload/issues/new?assignees=&labels=Bug&template=bug_report.md&title="); };
272+
helpMenu.CreateWidget<MenuItem>("Feature Request").ClickedEvent += [] {OvTools::Utils::SystemCalls::OpenURL("https://github.com/Overload-Technologies/Overload/issues/new?assignees=&labels=Feature&template=feature_request.md&title="); };
273+
helpMenu.CreateWidget<Visual::Separator>();
274+
helpMenu.CreateWidget<Texts::Text>("Version: " + std::string(OVERLOAD_VERSION));
266275
}
267276

268277
void OvEditor::Panels::MenuBar::RegisterPanel(const std::string& p_name, OvUI::Panels::PanelWindow& p_panel)

Sources/Overload/premake5.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,4 @@ group "Overload Apps"
6969
group ""
7070

7171
include "../../Resources"
72+
include "../../Documentation"

0 commit comments

Comments
 (0)