Skip to content
This repository was archived by the owner on Mar 7, 2025. It is now read-only.

Commit edea48e

Browse files
committed
Initial Commit
0 parents  commit edea48e

38 files changed

+1129
-0
lines changed

.dockerignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*/node_modules
2+
*.log

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
.DS_Store
2+
3+
node_modules
4+
5+
lib/core/metadata.js
6+
lib/core/MetadataBlog.js
7+
8+
website/translated_docs
9+
website/build/
10+
website/yarn.lock
11+
website/node_modules
12+
website/i18n/*

Dockerfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM node:8.11.4
2+
3+
WORKDIR /app/website
4+
5+
EXPOSE 3000 35729
6+
COPY ./docs /app/docs
7+
COPY ./website /app/website
8+
RUN yarn install
9+
10+
CMD ["yarn", "start"]

docker-compose.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: "3"
2+
3+
services:
4+
docusaurus:
5+
build: .
6+
ports:
7+
- 3000:3000
8+
- 35729:35729
9+
volumes:
10+
- ./docs:/app/docs
11+
- ./website/blog:/app/website/blog
12+
- ./website/core:/app/website/core
13+
- ./website/i18n:/app/website/i18n
14+
- ./website/pages:/app/website/pages
15+
- ./website/static:/app/website/static
16+
- ./website/sidebars.json:/app/website/sidebars.json
17+
- ./website/siteConfig.js:/app/website/siteConfig.js
18+
working_dir: /app/website

website/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
This website is build on Docusaurus.
2+
3+
Changes are built and deployed to [master](https://github.com/Cloudbox/cloudbox.github.io/tree/master) branch when changes are merged to [source](https://github.com/Cloudbox/cloudbox.github.io/tree/source) branch.
4+
5+
To test locally follow the [Docusarus instructions](https://docusaurus.io/docs/en/next/tutorial-setup) to install node.js and yarn. Then follow the instructions in [README.md](website/README.md).
6+
7+
Static HTML parts of the site are stored under [website/static](website/static), docs and blog posts are stored as markdown under [docs](docs) and [website/blog](website/blog), respectively.

website/blog/2019-09-24-New-Look.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
author: desimaniac
3+
title: New Look
4+
---
5+
6+
Launch of new website design.
7+
8+
Future announcements will be posted here.
9+
10+
Improvements to docs coming soon ...

website/core/Footer.js

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/**
2+
* Copyright (c) 2017-present, Facebook, Inc.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
const React = require('react');
9+
10+
class Footer extends React.Component {
11+
docUrl(doc, language) {
12+
const baseUrl = this.props.config.baseUrl;
13+
const docsUrl = this.props.config.docsUrl;
14+
const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
15+
const langPart = `${language ? `${language}/` : ''}`;
16+
return `${baseUrl}${docsPart}${langPart}${doc}`;
17+
}
18+
19+
pageUrl(doc, language) {
20+
const baseUrl = this.props.config.baseUrl;
21+
return baseUrl + (language ? `${language}/` : '') + doc;
22+
}
23+
24+
render() {
25+
return (
26+
<footer className="nav-footer" id="footer">
27+
<section className="sitemap">
28+
<a href={this.props.config.baseUrl} className="nav-home">
29+
{this.props.config.footerIcon && (
30+
<img
31+
src={this.props.config.baseUrl + this.props.config.footerIcon}
32+
alt={this.props.config.title}
33+
width="66"
34+
height="58"
35+
/>
36+
)}
37+
</a>
38+
<div>
39+
40+
</div>
41+
<div>
42+
<h5>Community</h5>
43+
<a href="https://discord.io/cloudbox/">Discord</a>
44+
</div>
45+
<div>
46+
<h5>More</h5>
47+
<a href={`${this.props.config.baseUrl}blog`}>Blog</a>
48+
<a href="https://github.com/Cloudbox/Cloudbox">GitHub</a>
49+
<a
50+
className="github-button"
51+
href={this.props.config.repoUrl}
52+
data-icon="octicon-star"
53+
data-count-href="/facebook/docusaurus/stargazers"
54+
data-show-count="true"
55+
data-count-aria-label="# stargazers on GitHub"
56+
aria-label="Star this project on GitHub">
57+
Star
58+
</a>
59+
</div>
60+
</section>
61+
62+
<section className="copyright">{this.props.config.copyright}</section>
63+
</footer>
64+
);
65+
}
66+
}
67+
68+
module.exports = Footer;

website/package.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"scripts": {
3+
"examples": "docusaurus-examples",
4+
"start": "docusaurus-start",
5+
"build": "docusaurus-build",
6+
"publish-gh-pages": "docusaurus-publish",
7+
"write-translations": "docusaurus-write-translations",
8+
"version": "docusaurus-version",
9+
"rename-version": "docusaurus-rename-version"
10+
},
11+
"devDependencies": {
12+
"docusaurus": "^1.13.0"
13+
},
14+
"dependencies": {
15+
"remarkable-admonitions": "^0.2.1"
16+
}
17+
}

website/pages/en/help.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/**
2+
* Copyright (c) 2017-present, Cloudbox
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
const React = require('react');
9+
10+
const CompLibrary = require('../../core/CompLibrary.js');
11+
12+
const Container = CompLibrary.Container;
13+
const GridBlock = CompLibrary.GridBlock;
14+
15+
function Help(props) {
16+
const {config: siteConfig, language = ''} = props;
17+
const {baseUrl, docsUrl} = siteConfig;
18+
const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
19+
const langPart = `${language ? `${language}/` : ''}`;
20+
const docUrl = doc => `${baseUrl}${docsPart}${langPart}${doc}`;
21+
22+
const supportLinks = [
23+
{
24+
title: 'Browse Docs',
25+
content: 'Learn more about Cloudbox using the [wiki](https://github.com/Cloudbox/Cloudbox/wiki).'
26+
},
27+
{
28+
title: 'Join the community',
29+
content: 'Ask questions and be part of the [discussion](https://discord.io/cloudbox).'
30+
},
31+
{
32+
title: 'Stay up to date',
33+
content: 'Find out what\'s [new](https://github.com/Cloudbox/Cloudbox/blob/master/CHANGELOG.md) with this project.',
34+
},
35+
];
36+
37+
return (
38+
<div className="docMainWrapper wrapper">
39+
<Container className="mainContainer documentContainer postContainer">
40+
<div className="post">
41+
<header className="postHeader">
42+
<h1>Need help?</h1>
43+
</header>
44+
<p>This project is maintained by a group of volunteers.</p>
45+
<GridBlock contents={supportLinks} layout="threeColumn" />
46+
</div>
47+
</Container>
48+
</div>
49+
);
50+
}
51+
52+
module.exports = Help;

website/pages/en/index.js

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
/**
2+
* Copyright (c) 2017-present, Facebook, Inc.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
const React = require('react');
9+
10+
const CompLibrary = require('../../core/CompLibrary.js');
11+
12+
const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
13+
const Container = CompLibrary.Container;
14+
const GridBlock = CompLibrary.GridBlock;
15+
16+
class HomeSplash extends React.Component {
17+
render() {
18+
const {siteConfig, language = ''} = this.props;
19+
const {baseUrl, docsUrl} = siteConfig;
20+
const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
21+
const langPart = `${language ? `${language}/` : ''}`;
22+
const docUrl = doc => `${baseUrl}${docsPart}${langPart}${doc}`;
23+
24+
25+
const SplashContainer = props => (
26+
<div className="homeContainer">
27+
<div className="homeSplashFade">
28+
<div className="wrapper homeWrapper">{props.children}</div>
29+
</div>
30+
</div>
31+
);
32+
33+
const ProjectTitle = props => (
34+
<div>
35+
<img style={{ width: "40em", paddingBottom: "1em" }} src={`${baseUrl}img/cb_logo.svg`} />
36+
<h2 className="projectTitle">
37+
{/* {siteConfig.title} */}
38+
<small>{siteConfig.tagline}</small>
39+
</h2>
40+
</div>
41+
);
42+
43+
// const Logo = props => (
44+
// <div className="projectLogo">
45+
// <img src={props.img_src} alt="Project Logo" />
46+
// </div>
47+
// );
48+
//
49+
// const ProjectTitle = () => (
50+
// <h2 className="projectTitle">
51+
// {siteConfig.title}
52+
// <small>{siteConfig.tagline}</small>
53+
// </h2>
54+
// );
55+
56+
const PromoSection = props => (
57+
<div className="section promoSection">
58+
<div className="promoRow">
59+
<div className="pluginRowBlock">{props.children}</div>
60+
</div>
61+
</div>
62+
);
63+
64+
const Button = props => (
65+
<div className="pluginWrapper buttonWrapper">
66+
<a className="button" href={props.href} target={props.target}>
67+
{props.children}
68+
</a>
69+
</div>
70+
);
71+
72+
return (
73+
<SplashContainer>
74+
<div className="inner">
75+
<ProjectTitle siteConfig={siteConfig} />
76+
<PromoSection>
77+
<Button href='https://github.com/Cloudbox/Cloudbox/wiki'>Get Started</Button>
78+
</PromoSection>
79+
</div>
80+
</SplashContainer>
81+
);
82+
}
83+
}
84+
85+
class Index extends React.Component {
86+
render() {
87+
const {config: siteConfig, language = ''} = this.props;
88+
const {baseUrl} = siteConfig;
89+
90+
const Block = props => (
91+
<Container
92+
padding={['bottom', 'top']}
93+
id={props.id}
94+
background={props.background}>
95+
<GridBlock
96+
align="center"
97+
contents={props.children}
98+
layout={props.layout}
99+
/>
100+
</Container>
101+
);
102+
103+
const Features = props => (
104+
<div id="feature">
105+
<Block layout="fourColumn">
106+
{[
107+
{
108+
image: `${baseUrl}img/lightning.svg`,
109+
imageAlign: "top",
110+
title: "Fast Deployment",
111+
content:
112+
"Ansible allows for fast deployment of the Cloudbox server stack solution with minimal setup and in as little as 15 minutes.<br /><br /><br /><br />"
113+
},
114+
{
115+
image: `${baseUrl}img/gear.svg`,
116+
imageAlign: "top",
117+
title: "Automation",
118+
content:
119+
"Cloudbox puts \"all the pieces together\" by automating server tasks, performance tweaks, and application setup, right out-of-the-box."
120+
},
121+
{
122+
image: `${baseUrl}img/docker.svg`,
123+
imageAlign: "top",
124+
title: "Docker",
125+
content:
126+
"Applications in Docker containers are isolated from each other and allow for quick installs and easy uninstalls."
127+
},
128+
{
129+
image: `${baseUrl}img/window.svg`,
130+
imageAlign: "top",
131+
title: "Open Source",
132+
content:
133+
"Free and open source software (FOSS). Collaborate on ideas and improvements. Build and share add-ons on the \'Community\' repository."
134+
},
135+
{
136+
image: `${baseUrl}img/cloud.svg`,
137+
imageAlign: "top",
138+
title: "Cloud Storage",
139+
content:
140+
"Store media on cloud storage to free up on local storage space."
141+
},
142+
{
143+
image: `${baseUrl}img/browser.svg`,
144+
imageAlign: "top",
145+
title: "Your Domain Name",
146+
content:
147+
"Use a domain name to access your server applications securely with SSL certificates from Let's Encrypt."
148+
},
149+
{
150+
image: `${baseUrl}img/clock.svg`,
151+
imageAlign: "top",
152+
title: "Backup & Restore",
153+
content:
154+
"Create backups directly on the cloud. Easily migrate to any server using the restore function."
155+
},
156+
{
157+
image: `${baseUrl}img/contacts.svg`,
158+
imageAlign: "top",
159+
title: "Active Community",
160+
content:
161+
"Engage with a large community of helpful members who share similar interests as you. Extend functionality by utilizing add-ons created by other members."
162+
}
163+
]}
164+
</Block>
165+
</div>
166+
);
167+
168+
return (
169+
<div>
170+
<HomeSplash siteConfig={siteConfig} language={language} />
171+
<div className="mainContainer">
172+
<Features />
173+
</div>
174+
</div>
175+
);
176+
}
177+
}
178+
179+
Index.description = 'Cloudbox is an Ansible-based solution for rapidly deploying a Dockerized cloud media server.';
180+
181+
module.exports = Index;

website/sidebars.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"docs": {
3+
"Docusaurus": ["doc1"],
4+
"First Category": ["doc2"],
5+
"Second Category": ["doc3"]
6+
},
7+
"docs-other": {
8+
"First Category": ["doc4", "doc5"]
9+
}
10+
}

0 commit comments

Comments
 (0)