Skip to content

Commit b519ed6

Browse files
committed
renamed site
1 parent a4ace92 commit b519ed6

19 files changed

+325
-28
lines changed

.DS_Store

0 Bytes
Binary file not shown.

Gemfile.lock

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@ GEM
2323
ffi (1.17.1-x86_64-darwin)
2424
ffi (1.17.1-x86_64-linux-gnu)
2525
forwardable-extended (2.6.0)
26-
google-protobuf (4.29.3)
27-
bigdecimal
28-
rake (>= 13)
2926
google-protobuf (4.29.3-arm64-darwin)
3027
bigdecimal
3128
rake (>= 13)
@@ -112,7 +109,6 @@ GEM
112109
webrick (1.9.1)
113110

114111
PLATFORMS
115-
aarch64-mingw-ucrt
116112
arm64-darwin
117113
x86_64-darwin
118114
x86_64-linux

_config.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# site settings
22

3-
title: Build-A-Satellite | BIRDS
4-
description: The BIRDS Build-A-Satellite Project is a comprehensive open source guide for designing, building, testing, and launching a small satellite. Whether you’re a beginner or an experienced developer, our documentation is structured to assist you at every stage of the satellite development process.
3+
title: BIRDS | Open Source Release
4+
description: The BIRDS Open Source Release is a comprehensive open source guide for designing, building, testing, and launching a small satellite. Whether you’re a beginner or an experienced developer, our documentation is structured to assist you at every stage of the satellite development process.
55
email: null
66

77
# theme
@@ -93,10 +93,10 @@ last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https:/
9393
# Footer "Edit this page on GitHub" link text
9494
gh_edit_link: true # show or hide edit this page link
9595
gh_edit_link_text: "Edit this page on GitHub."
96-
gh_edit_repository: "https://github.com/BIRDSOpenSource/Build-A-Satellite" # the github URL for your repo
97-
gh_edit_branch: "development" # the branch that your docs is served from
96+
gh_edit_repository: "https://github.com/BIRDSOpenSource/BIRDSOpenSource.github.io" # the github URL for your repo
97+
gh_edit_branch: "main" # the branch that your docs is served from
9898
# gh_edit_source: docs # the source that your files originate from
99-
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately
99+
gh_edit_view_mode: "edit" # "tree" or "edit" if you want the user to jump into the editor immediately
100100

101101
# Color scheme supports "light" (default) and "dark"
102102
color_scheme: light

_data/en/l10n.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
lang_name: "English"
2-
title: Build-A-Satellite
2+
title: BIRDS | Open Source Release
33
date_format: "%b %e, %Y"

_site/about/index.html

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

_site/index.html

Lines changed: 1 addition & 2 deletions
Large diffs are not rendered by default.

assets/js/theme.js

Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
// Has to be in the head tag, otherwise a flicker effect will occur.
2+
3+
// Toggle through light, dark, and system theme settings.
4+
let toggleThemeSetting = () => {
5+
let themeSetting = determineThemeSetting();
6+
if (themeSetting == "system") {
7+
setThemeSetting("light");
8+
} else if (themeSetting == "light") {
9+
setThemeSetting("dark");
10+
} else {
11+
setThemeSetting("system");
12+
}
13+
};
14+
15+
// Change the theme setting and apply the theme.
16+
let setThemeSetting = (themeSetting) => {
17+
localStorage.setItem("theme", themeSetting);
18+
19+
document.documentElement.setAttribute("data-theme-setting", themeSetting);
20+
21+
applyTheme();
22+
};
23+
24+
// Apply the computed dark or light theme to the website.
25+
let applyTheme = () => {
26+
let theme = determineComputedTheme();
27+
28+
transTheme();
29+
setHighlight(theme);
30+
setGiscusTheme(theme);
31+
setSearchTheme(theme);
32+
33+
// if mermaid is not defined, do nothing
34+
if (typeof mermaid !== "undefined") {
35+
setMermaidTheme(theme);
36+
}
37+
38+
// if diff2html is not defined, do nothing
39+
if (typeof Diff2HtmlUI !== "undefined") {
40+
setDiff2htmlTheme(theme);
41+
}
42+
43+
// if echarts is not defined, do nothing
44+
if (typeof echarts !== "undefined") {
45+
setEchartsTheme(theme);
46+
}
47+
48+
// if vegaEmbed is not defined, do nothing
49+
if (typeof vegaEmbed !== "undefined") {
50+
setVegaLiteTheme(theme);
51+
}
52+
53+
document.documentElement.setAttribute("data-theme", theme);
54+
55+
// Add class to tables.
56+
let tables = document.getElementsByTagName("table");
57+
for (let i = 0; i < tables.length; i++) {
58+
if (theme == "dark") {
59+
tables[i].classList.add("table-dark");
60+
} else {
61+
tables[i].classList.remove("table-dark");
62+
}
63+
}
64+
65+
// Set jupyter notebooks themes.
66+
let jupyterNotebooks = document.getElementsByClassName("jupyter-notebook-iframe-container");
67+
for (let i = 0; i < jupyterNotebooks.length; i++) {
68+
let bodyElement = jupyterNotebooks[i].getElementsByTagName("iframe")[0].contentWindow.document.body;
69+
if (theme == "dark") {
70+
bodyElement.setAttribute("data-jp-theme-light", "false");
71+
bodyElement.setAttribute("data-jp-theme-name", "JupyterLab Dark");
72+
} else {
73+
bodyElement.setAttribute("data-jp-theme-light", "true");
74+
bodyElement.setAttribute("data-jp-theme-name", "JupyterLab Light");
75+
}
76+
}
77+
78+
// Updates the background of medium-zoom overlay.
79+
if (typeof medium_zoom !== "undefined") {
80+
medium_zoom.update({
81+
background: getComputedStyle(document.documentElement).getPropertyValue("--global-bg-color") + "ee", // + 'ee' for trasparency.
82+
});
83+
}
84+
};
85+
86+
let setHighlight = (theme) => {
87+
if (theme == "dark") {
88+
document.getElementById("highlight_theme_light").media = "none";
89+
document.getElementById("highlight_theme_dark").media = "";
90+
} else {
91+
document.getElementById("highlight_theme_dark").media = "none";
92+
document.getElementById("highlight_theme_light").media = "";
93+
}
94+
};
95+
96+
let setGiscusTheme = (theme) => {
97+
function sendMessage(message) {
98+
const iframe = document.querySelector("iframe.giscus-frame");
99+
if (!iframe) return;
100+
iframe.contentWindow.postMessage({ giscus: message }, "https://giscus.app");
101+
}
102+
103+
sendMessage({
104+
setConfig: {
105+
theme: theme,
106+
},
107+
});
108+
};
109+
110+
let addMermaidZoom = (records, observer) => {
111+
var svgs = d3.selectAll(".mermaid svg");
112+
svgs.each(function () {
113+
var svg = d3.select(this);
114+
svg.html("<g>" + svg.html() + "</g>");
115+
var inner = svg.select("g");
116+
var zoom = d3.zoom().on("zoom", function (event) {
117+
inner.attr("transform", event.transform);
118+
});
119+
svg.call(zoom);
120+
});
121+
observer.disconnect();
122+
};
123+
124+
let setMermaidTheme = (theme) => {
125+
if (theme == "light") {
126+
// light theme name in mermaid is 'default'
127+
// https://mermaid.js.org/config/theming.html#available-themes
128+
theme = "default";
129+
}
130+
131+
/* Re-render the SVG, based on https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/_includes/mermaid.html */
132+
document.querySelectorAll(".mermaid").forEach((elem) => {
133+
// Get the code block content from previous element, since it is the mermaid code itself as defined in Markdown, but it is hidden
134+
let svgCode = elem.previousSibling.childNodes[0].innerHTML;
135+
elem.removeAttribute("data-processed");
136+
elem.innerHTML = svgCode;
137+
});
138+
139+
mermaid.initialize({ theme: theme });
140+
window.mermaid.init(undefined, document.querySelectorAll(".mermaid"));
141+
142+
const observable = document.querySelector(".mermaid svg");
143+
if (observable !== null) {
144+
var observer = new MutationObserver(addMermaidZoom);
145+
const observerOptions = { childList: true };
146+
observer.observe(observable, observerOptions);
147+
}
148+
};
149+
150+
let setDiff2htmlTheme = (theme) => {
151+
document.querySelectorAll(".diff2html").forEach((elem) => {
152+
// Get the code block content from previous element, since it is the diff code itself as defined in Markdown, but it is hidden
153+
let textData = elem.previousSibling.childNodes[0].innerHTML;
154+
elem.innerHTML = "";
155+
const configuration = { colorScheme: theme, drawFileList: true, highlight: true, matching: "lines" };
156+
const diff2htmlUi = new Diff2HtmlUI(elem, textData, configuration);
157+
diff2htmlUi.draw();
158+
});
159+
};
160+
161+
let setEchartsTheme = (theme) => {
162+
document.querySelectorAll(".echarts").forEach((elem) => {
163+
// Get the code block content from previous element, since it is the echarts code itself as defined in Markdown, but it is hidden
164+
let jsonData = elem.previousSibling.childNodes[0].innerHTML;
165+
echarts.dispose(elem);
166+
167+
if (theme === "dark") {
168+
var chart = echarts.init(elem, "dark-fresh-cut");
169+
} else {
170+
var chart = echarts.init(elem);
171+
}
172+
173+
chart.setOption(JSON.parse(jsonData));
174+
});
175+
};
176+
177+
let setVegaLiteTheme = (theme) => {
178+
document.querySelectorAll(".vega-lite").forEach((elem) => {
179+
// Get the code block content from previous element, since it is the vega lite code itself as defined in Markdown, but it is hidden
180+
let jsonData = elem.previousSibling.childNodes[0].innerHTML;
181+
elem.innerHTML = "";
182+
if (theme === "dark") {
183+
vegaEmbed(elem, JSON.parse(jsonData), { theme: "dark" });
184+
} else {
185+
vegaEmbed(elem, JSON.parse(jsonData));
186+
}
187+
});
188+
};
189+
190+
let setSearchTheme = (theme) => {
191+
const ninjaKeys = document.querySelector("ninja-keys");
192+
if (!ninjaKeys) return;
193+
194+
if (theme === "dark") {
195+
ninjaKeys.classList.add("dark");
196+
} else {
197+
ninjaKeys.classList.remove("dark");
198+
}
199+
};
200+
201+
let transTheme = () => {
202+
document.documentElement.classList.add("transition");
203+
window.setTimeout(() => {
204+
document.documentElement.classList.remove("transition");
205+
}, 500);
206+
};
207+
208+
// Determine the expected state of the theme toggle, which can be "dark", "light", or
209+
// "system". Default is "system".
210+
let determineThemeSetting = () => {
211+
let themeSetting = localStorage.getItem("theme");
212+
if (themeSetting != "dark" && themeSetting != "light" && themeSetting != "system") {
213+
themeSetting = "system";
214+
}
215+
return themeSetting;
216+
};
217+
218+
// Determine the computed theme, which can be "dark" or "light". If the theme setting is
219+
// "system", the computed theme is determined based on the user's system preference.
220+
let determineComputedTheme = () => {
221+
let themeSetting = determineThemeSetting();
222+
if (themeSetting == "system") {
223+
const userPref = window.matchMedia;
224+
if (userPref && userPref("(prefers-color-scheme: dark)").matches) {
225+
return "dark";
226+
} else {
227+
return "light";
228+
}
229+
} else {
230+
return themeSetting;
231+
}
232+
};
233+
234+
let initTheme = () => {
235+
let themeSetting = determineThemeSetting();
236+
237+
setThemeSetting(themeSetting);
238+
239+
// Add event listener to the theme toggle button.
240+
document.addEventListener("DOMContentLoaded", function () {
241+
const mode_toggle = document.getElementById("light-toggle");
242+
243+
mode_toggle.addEventListener("click", function () {
244+
toggleThemeSetting();
245+
});
246+
});
247+
248+
// Add event listener to the system theme preference change.
249+
window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", ({ matches }) => {
250+
applyTheme();
251+
});
252+
};

overview/background.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,13 @@ These phases create a structured pathway from conceptualization to launch, with
8989

9090
## [Getting Started]({{site.url}}/get-started){: .btn .btn-purple }
9191

92+
## Other resources
93+
[Engineer Me This](https://www.youtube.com/@EngineerMeThis/videos)
94+
[Build A Cubesat](https://www.youtube.com/@buildacubesat)
95+
[RG Sat](https://www.youtube.com/@RGSAT)
96+
[Kyutech SEIC](https://www.youtube.com/@kyutechseic4187)
97+
98+
9299
----
93100

94101
[GitHub Issues.]: https://github.com/BIRDSOpenSource/Build-A-Satellite/issues

overview/build-a-sat.md renamed to overview/birds-osp.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Build-A-Satellite
2+
title: What is BIRDS Open Source Release?
33
nav_order: 1
44
parent: Home
55
layout: default
@@ -8,12 +8,12 @@ lang: en
88

99
# **Focus on making great missions**
1010
{: .lh-0 .text-purple-200}
11-
# Build-A-Satellite gives your satellite development team a jumpstart with robust documentation tailored to the customizable BIRDS cube satellite bus.
11+
# BIRDS Open Source gives your satellite development team a jumpstart with robust documentation tailored to the customizable BIRDS cube satellite bus.
1212
{: .lh-tight }
1313

1414

15-
## What is Build-A-Sat?
16-
Build-A-Sat is a library of resources that will cover the entire mission lifetime from start to finish. Build-A-Sat aims to provide the knowledge to help you create your own open source satellite mission, using workflows you're familiar with and open-source tools you can trust.
15+
## What is BIRDS Open Source?
16+
BIRDS Open Source is a library of resources that will cover the entire mission lifetime from start to finish. It aims to provide the knowledge to help you create your own open source satellite mission, using workflows you're familiar with and open-source tools you can trust.
1717

1818
---
1919
Out of the box, Backstage includes:

overview/birds/GS-software.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: GS-Software
3-
parent: What is BIRDS Open Source?
3+
parent: What is BIRDS?
44
grand_parent: Home
55
layout: default
66
lang: en

0 commit comments

Comments
 (0)