1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-25 00:07:47 +01:00

chore(documentation): Added Docusaurus with a website

fixes #355
This commit is contained in:
ivaosthu 2018-11-20 20:34:42 +01:00 committed by Ivar Conradi Østhus
parent 320940d19c
commit 823552f95f
36 changed files with 836 additions and 14 deletions

View File

@ -1,2 +1,9 @@
node_modules node_modules
bundle.js bundle.js
website/blog
website/build
website/node_modules
website/i18n/*.js
website/translated_docs
website/core
website/pages

8
.gitignore vendored
View File

@ -43,3 +43,11 @@ typings
# We use yarn.lock # We use yarn.lock
package-lock.json package-lock.json
# Website stuff
/website/build
/website/backers.json
/website/node_modules
/website/yarn.lock
/website/translated_docs
/website/i18n/*

View File

@ -14,7 +14,8 @@ before_script:
- greenkeeper-lockfile-update - greenkeeper-lockfile-update
script: yarn run test:coverage script: yarn run test:coverage
after_script: greenkeeper-lockfile-upload after_script: greenkeeper-lockfile-upload
after_success: yarn run test:coverage-report after_success:
- yarn run test:coverage-report
notifications: notifications:
slack: slack:
secure: MroremSKwtQkwPbrXjgs9hIqKTCDKk7bAIXXzjcS6wXC9uRaFgwFaW8oO3vBxtWa4BL44EQBLE/rboWgqFER62+XgXNgEqGZqrcJHJvby4r+dUNMPI64OZvWdIiydIYxLo8C1C4x5PqBup0xuLq8h/SBnNvA2NLgkjuvzOi+v/Q= secure: MroremSKwtQkwPbrXjgs9hIqKTCDKk7bAIXXzjcS6wXC9uRaFgwFaW8oO3vBxtWa4BL44EQBLE/rboWgqFER62+XgXNgEqGZqrcJHJvby4r+dUNMPI64OZvWdIiydIYxLo8C1C4x5PqBup0xuLq8h/SBnNvA2NLgkjuvzOi+v/Q=
@ -22,3 +23,13 @@ addons:
postgresql: '9.4' postgresql: '9.4'
cache: cache:
yarn: true yarn: true
deploy:
# deploy doc on master to production
- provider: script
script:
- git config --global user.name "${GH_NAME}"
- git config --global user.email "${GH_EMAIL}"
- echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc
- cd website && npm install && GIT_USER="${GH_NAME}" npm run publish-gh-pages
on:
branch: master

View File

@ -1,4 +1,8 @@
# Activation Strategies ---
id: activation_strategy
title: Activation Strategies
---
It is powerful to be able to turn a feature on and off instantaneously, without redeploying the application. The next level of control comes when you are able to enable a feature for specific users or enable it for a small subset of the users. We achieve this level of control with the help of activation strategies. The most simple strategy is the “default” strategy, which basically means that the feature should be enabled to everyone. It is powerful to be able to turn a feature on and off instantaneously, without redeploying the application. The next level of control comes when you are able to enable a feature for specific users or enable it for a small subset of the users. We achieve this level of control with the help of activation strategies. The most simple strategy is the “default” strategy, which basically means that the feature should be enabled to everyone.

View File

@ -1,3 +1,8 @@
---
id: events
title: /api/admin/events
---
# Events API # Events API
`GET: http://unleash.host.com/api/admin/events` `GET: http://unleash.host.com/api/admin/events`

View File

@ -1,3 +1,8 @@
---
id: features
title: /api/admin/features
---
### Fetching Feature Toggles ### Fetching Feature Toggles
`GET: http://unleash.host.com/api/admin/features` `GET: http://unleash.host.com/api/admin/features`

View File

@ -1,3 +1,8 @@
---
id: metrics
title: /api/admin/metrics
---
# This document describes the metrics endpoint for admin ui # This document describes the metrics endpoint for admin ui

View File

@ -1,4 +1,7 @@
## Strategies API ---
id: strategies
title: /api/admin/strategies
---
### Fetch Strategies ### Fetch Strategies
`GET: http://unleash.host.com/api/admin/strategies` `GET: http://unleash.host.com/api/admin/strategies`

View File

@ -1,3 +1,8 @@
---
id: features
title: /api/client/features
---
### Fetching Feature Toggles ### Fetching Feature Toggles
`GET: http://unleash.host.com/api/client/features` `GET: http://unleash.host.com/api/client/features`

View File

@ -1,8 +1,11 @@
# This document describes the client metrics endpoints ---
id: metrics
title: /api/client/metrics
---
### Send metrics ### Send metrics
`POST http://unleash.host.com/api/client/metrics` `POST: http://unleash.host.com/api/client/metrics`
Register a metrics payload with a timed bucket. Register a metrics payload with a timed bucket.

View File

@ -1,4 +1,7 @@
# This document describes the client registration endpoints ---
id: register
title: /api/client/register
---
### Client registration ### Client registration

View File

@ -1,4 +1,7 @@
# API Documentation ---
id: index
title: API Documentation
---
## Client API ## Client API
This describes the API provided to unleash-clients. This describes the API provided to unleash-clients.

View File

@ -1,3 +1,8 @@
---
id: internal
title: /internal-backstage/prometheus
---
# Internal Backstage API # Internal Backstage API
`GET http://unleash.host.com/internal-backstage/prometheus` `GET http://unleash.host.com/internal-backstage/prometheus`

View File

@ -1,3 +1,9 @@
---
id: client_specification
title: Client Specification
---
# Client Specification 1.0 # Client Specification 1.0
This document attempts to guide developers in implementing a Unleash Client SDK. This document attempts to guide developers in implementing a Unleash Client SDK.

View File

@ -1,4 +1,8 @@
# Database backups ---
id: database_backup
title: Database Backup
---
When upgrading to a new major version of Unleash it is advised to do a When upgrading to a new major version of Unleash it is advised to do a
full database backup to ease rollback in case of failures. full database backup to ease rollback in case of failures.

View File

@ -1,4 +1,8 @@
# Schema ---
id: database_schema
title: Database Schema
---
This document describes our current database schema used in PostgreSQL. This document describes our current database schema used in PostgreSQL.
We use db-migrate to migrate (create tables, add columns etc) the database. We use db-migrate to migrate (create tables, add columns etc) the database.

View File

@ -1,4 +1,8 @@
# Developer Guide ---
id: developer_guide
title: Developer guide
---
## PostgreSQL ## PostgreSQL
To run and develop unleash you need to have PostgreSQL database (PostgreSQL v.9.5.x or newer) locally. To run and develop unleash you need to have PostgreSQL database (PostgreSQL v.9.5.x or newer) locally.

View File

@ -1,4 +1,7 @@
# Getting stated ---
id: getting_started
title: Getting Started
---
## Requirements ## Requirements

View File

@ -1,4 +1,8 @@
# Migrations guide ---
id: migration_guide
title: Migration Guide
---
Generally the intention is that `unleash-server` should always provide support for clients one lower major version. This should make possible to upgrade `unleash` gradually. Generally the intention is that `unleash-server` should always provide support for clients one lower major version. This should make possible to upgrade `unleash` gradually.

View File

@ -1,4 +1,8 @@
# Securing Unleash ---
id: securing_unleash
title: Securing Unleash
---
The Unleash API is split in two different paths: `/api/client` and `/api/admin`. The Unleash API is split in two different paths: `/api/client` and `/api/admin`.
This makes it easy to have different authentication strategy for the admin interface and the client-api used by the applications integrating with Unleash. This makes it easy to have different authentication strategy for the admin interface and the client-api used by the applications integrating with Unleash.

View File

@ -1,4 +1,8 @@
# Unleash Context ---
id: unleash_context
title: Unleash Context
---
In order to standardise a few activation strategies we also needed to In order to standardise a few activation strategies we also needed to
standardise a unleash context, which contains some fields that varies standardise a unleash context, which contains some fields that varies

145
website/README.md Normal file
View File

@ -0,0 +1,145 @@
The Unleash website was created with [Docusaurus](https://docusaurus.io/).
It's hosted on https://unleash.github.io/
# What's In This Document
* [Get Started in 5 Minutes](#get-started-in-5-minutes)
* [Directory Structure](#directory-structure)
* [Editing Content](#editing-content)
* [Adding Content](#adding-content)
* [Full Documentation](#full-documentation)
# Get Started in 5 Minutes
1. Make sure all the dependencies for the website are installed:
```sh
# Install dependencies
$ npm install
```
2. Run your dev server:
```sh
# Start the site
$ npm run start
```
## Directory Structure
Your project file structure should look something like this
```
unleash/
docs/
doc-1.md
doc-2.md
doc-3.md
website/
core/
pages/
static/
css/
img/
package.json
sidebar.json
siteConfig.js
```
# Editing Content
## Editing an existing docs page
Edit docs by navigating to `docs/` and editing the corresponding document:
`docs/doc-to-be-edited.md`
```markdown
---
id: page-needs-edit
title: This Doc Needs To Be Edited
---
Edit me...
```
For more information about docs, click [here](https://docusaurus.io/docs/en/navigation)
# Adding Content
## Adding a new docs page to an existing sidebar
1. Create the doc as a new markdown file in `/docs`, example `docs/newly-created-doc.md`:
```md
---
id: newly-created-doc
title: This Doc Needs To Be Edited
---
My new content here..
```
1. Refer to that doc's ID in an existing sidebar in `website/sidebar.json`:
```javascript
// Add newly-created-doc to the Getting Started category of docs
{
"docs": {
"Getting Started": [
"quick-start",
"newly-created-doc" // new doc here
],
...
},
...
}
```
For more information about adding new docs, click [here](https://docusaurus.io/docs/en/navigation)
## Adding items to your site's top navigation bar
1. Add links to docs, custom pages or external links by editing the headerLinks field of `website/siteConfig.js`:
`website/siteConfig.js`
```javascript
{
headerLinks: [
...
/* you can add docs */
{ doc: 'my-examples', label: 'Examples' },
/* you can add custom pages */
{ page: 'help', label: 'Help' },
/* you can add external links */
{ href: 'https://github.com/facebook/Docusaurus', label: 'GitHub' },
...
],
...
}
```
For more information about the navigation bar, click [here](https://docusaurus.io/docs/en/navigation)
## Adding custom pages
1. Docusaurus uses React components to build pages. The components are saved as .js files in `website/pages/en`:
1. If you want your page to show up in your navigation header, you will need to update `website/siteConfig.js` to add to the `headerLinks` element:
`website/siteConfig.js`
```javascript
{
headerLinks: [
...
{ page: 'my-new-custom-page', label: 'My New Custom Page' },
...
],
...
}
```
For more information about custom pages, click [here](https://docusaurus.io/docs/en/custom-pages).
# Full Documentation
Full documentation can be found on the [website](https://docusaurus.io/).

86
website/core/Footer.js Normal file
View File

@ -0,0 +1,86 @@
/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const React = require('react');
class Footer extends React.Component {
docUrl(doc, language) {
const baseUrl = this.props.config.baseUrl;
return `${baseUrl}docs/${language ? `${language}/` : ''}${doc}`;
}
pageUrl(doc, language) {
const baseUrl = this.props.config.baseUrl;
return baseUrl + (language ? `${language}/` : '') + doc;
}
render() {
return (
<footer className="nav-footer" id="footer">
<section className="sitemap">
<a href={this.props.config.baseUrl} className="nav-home">
{this.props.config.footerIcon && (
<img
src={this.props.config.baseUrl + this.props.config.footerIcon}
alt={this.props.config.title}
width="66"
height="58"
/>
)}
</a>
<div>
<h5>Docs</h5>
<a href={this.docUrl('getting_started.html', this.props.language)}>
Getting Started
</a>
<a href={this.docUrl('securing_unleash.html', this.props.language)}>
Securing Unleash
</a>
<a href={this.docUrl('api/client/features.html', this.props.language)}>
API Reference
</a>
</div>
<div>
<h5>Community</h5>
<a href={this.pageUrl('users.html', this.props.language)}>
User Showcase
</a>
<a
href="https://stackoverflow.com/tags/unleash"
target="_blank"
rel="noreferrer noopener">
Stack Overflow
</a>
<a
href="https://twitter.com/Unleash_org"
target="_blank"
rel="noreferrer noopener">
Twitter
</a>
</div>
<div>
<h5>More</h5>
<a href="https://github.com/Unleash/unleash">GitHub</a>
<a
className="github-button"
href={this.props.config.repoUrl}
data-icon="octicon-star"
data-count-href="/unleash/unleash/stargazers"
data-show-count="true"
data-count-aria-label="# stargazers on GitHub"
aria-label="Star this project on GitHub">
Star
</a>
</div>
</section>
<section className="copyright">{this.props.config.copyright}</section>
</footer>
);
}
}
module.exports = Footer;

14
website/package.json Normal file
View File

@ -0,0 +1,14 @@
{
"scripts": {
"examples": "docusaurus-examples",
"start": "docusaurus-start",
"build": "docusaurus-build",
"publish-gh-pages": "docusaurus-publish",
"write-translations": "docusaurus-write-translations",
"version": "docusaurus-version",
"rename-version": "docusaurus-rename-version"
},
"devDependencies": {
"docusaurus": "^1.5.1"
}
}

58
website/pages/en/help.js Executable file
View File

@ -0,0 +1,58 @@
/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const React = require('react');
const CompLibrary = require('../../core/CompLibrary.js');
const Container = CompLibrary.Container;
const GridBlock = CompLibrary.GridBlock;
const siteConfig = require(`${process.cwd()}/siteConfig.js`);
function docUrl(doc, language) {
return `${siteConfig.baseUrl}docs/${language ? `${language}/` : ''}${doc}`;
}
class Help extends React.Component {
render() {
const language = this.props.language || '';
const supportLinks = [
{
content: `Learn more using the [documentation on this site.](${docUrl(
'doc1.html',
language,
)})`,
title: 'Browse Docs',
},
{
content: 'Ask questions about the documentation and project',
title: 'Join the community',
},
{
content: "Find out what's new with this project",
title: 'Stay up to date',
},
];
return (
<div className="docMainWrapper wrapper">
<Container className="mainContainer documentContainer postContainer">
<div className="post">
<header className="postHeader">
<h1>Need help?</h1>
</header>
<p>This project is maintained by a dedicated group of people.</p>
<GridBlock contents={supportLinks} layout="threeColumn" />
</div>
</Container>
</div>
);
}
}
module.exports = Help;

225
website/pages/en/index.js Executable file
View File

@ -0,0 +1,225 @@
/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const React = require('react');
const CompLibrary = require('../../core/CompLibrary.js');
const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
const Container = CompLibrary.Container;
const GridBlock = CompLibrary.GridBlock;
const siteConfig = require(`${process.cwd()}/siteConfig.js`);
function imgUrl(img) {
return `${siteConfig.baseUrl}img/${img}`;
}
function docUrl(doc, language) {
return `${siteConfig.baseUrl}docs/${language ? `${language}/` : ''}${doc}`;
}
function pageUrl(page, language) {
return siteConfig.baseUrl + (language ? `${language}/` : '') + page;
}
class Button extends React.Component {
render() {
return (
<div className="pluginWrapper buttonWrapper">
<a className="button" href={this.props.href} target={this.props.target}>
{this.props.children}
</a>
</div>
);
}
}
Button.defaultProps = {
target: '_self',
};
const SplashContainer = props => (
<div className="homeContainer">
<div className="homeSplashFade">
<div className="wrapper homeWrapper">{props.children}</div>
</div>
</div>
);
const Logo = props => (
<div className="projectLogo">
<img src={props.img_src} alt="Project Logo" />
</div>
);
const ProjectTitle = () => (
<h2 className="projectTitle">
{siteConfig.title}
<small>{siteConfig.tagline}</small>
</h2>
);
const PromoSection = props => (
<div className="section promoSection">
<div className="promoRow">
<div className="pluginRowBlock">{props.children}</div>
</div>
</div>
);
class HomeSplash extends React.Component {
render() {
const language = this.props.language || '';
return (
<SplashContainer>
<div className="inner">
<ProjectTitle />
<a
className="github-button"
href={siteConfig.repoUrl}
data-icon="octicon-star"
data-count-href="/unleash/unleash/stargazers"
data-show-count="true"
data-count-aria-label="# stargazers on GitHub"
aria-label="Star this project on GitHub">
Star
</a>
<PromoSection>
<Button href={docUrl('getting_started.html', language)}>Getting Started</Button>
<Button href="#try">Try It Out</Button>
<Button href={siteConfig.repoUrl}>GitHub</Button>
</PromoSection>
</div>
</SplashContainer>
);
}
}
const Block = props => (
<Container
padding={['bottom', 'top']}
id={props.id}
background={props.background}>
<GridBlock align="left" contents={props.children} layout={props.layout} />
</Container>
);
const FeatureCallout = () => (
<div className="productShowcaseSection paddingBottom" style={{textAlign: 'center'}}>
<p>
Unleash is a feature toggle system, that gives you a great overview over all feature toggles across
all your applications and services. It comes with official client implementations for Java, Node.js, Go, Ruby and Python.
</p>
<p>
The main motivation for doing feature toggling is to decouple the process for deploying code to production
and releasing new features. This helps reducing risk, and allow us to easily manage which features to enable
</p>
</div>
);
const UnleashClient = () => (
<Container padding={['bottom', 'top']} id="unleash-client" background={'light'}>
<h2>Client implementations</h2>
<p>
Unleash has offical SDK's for Java, Node.js, Go, Ruby and Python. And we will be happy to add implementations in other langugages written by you! These libraries makes it very easy to use Unleash in you application.
</p>
<h3>Official client SDKs:</h3>
<ul>
<li><MarkdownBlock>[unleash/unleash-client-java](https://github.com/unleash/unleash-client-java)</MarkdownBlock></li>
<li><MarkdownBlock>[unleash/unleash-client-node](https://github.com/unleash/unleash-client-node)</MarkdownBlock></li>
<li><MarkdownBlock>[unleash/unleash-client-go](https://github.com/unleash/unleash-client-go)</MarkdownBlock></li>
<li><MarkdownBlock>[unleash/unleash-client-ruby](https://github.com/unleash/unleash-client-ruby)</MarkdownBlock></li>
<li><MarkdownBlock>[unleash/unleash-client-python](https://github.com/Unleash/unleash-client-python)</MarkdownBlock></li>
</ul>
<h3>Clients written by awesome enthusiasts:</h3>
<ul>
<li><MarkdownBlock>[stiano/unleash-client-dotnet](https://github.com/stiano/unleash-client-dotnet) (.Net Core)</MarkdownBlock></li>
<li><MarkdownBlock>[onybo/unleash-client-core](https://github.com/onybo/unleash-client-core) (.Net Core)</MarkdownBlock></li>
<li><MarkdownBlock>[rarruda/unleash-client-python](https://github.com/rarruda/unleash-client-python) (Python 3)</MarkdownBlock></li>
</ul>
</Container>
);
const TryOut = () => (
<Block id="try">
{[
{
content: 'We have deployed a demo version of [Unleash on Heroku](https://unleash.herokuapp.com). '+
'Here you can play with the Unleash UI, define your toggles. <br /><br />'+
'You can even use on of the Unleash client SDKs and test it out Unleash your application. '+
'Use the api url located at https://unleash.herokuapp.com/api/.',
image: imgUrl('dashboard.png'),
imageAlign: 'left',
align: 'left',
title: 'Try Unleash',
},
]}
</Block>
);
const ActivationStrategies = () => (
<Block background="dark">
{[
{
content: 'It\'s fine to have a system for turning stuff on and off. But some times we want more granular control, we want to decide who to the toggle should be enabled for. This is where [activation strategies](docs/activation_strategy) comes in to the picture. Activation strategies take arbitrary config and allows us to enable a toggle in various ways.',
image: imgUrl('logo-inverted.png'),
imageAlign: 'right',
title: 'Activation strategies',
},
]}
</Block>
);
const Showcase = props => {
if ((siteConfig.users || []).length === 0) {
return null;
}
const showcase = siteConfig.users.filter(user => user.pinned).map(user => (
<a href={user.infoLink} key={user.infoLink}>
<img src={user.image} alt={user.caption} title={user.caption} />
</a>
));
return (
<div className="productShowcaseSection paddingBottom">
<h2>Who is Using This?</h2>
<p>This project is used by all these people</p>
<div className="logos">{showcase}</div>
<div className="more-users">
<a className="button" href={pageUrl('users.html', props.language)}>
More {siteConfig.title} Users
</a>
</div>
</div>
);
};
class Index extends React.Component {
render() {
const language = this.props.language || '';
return (
<div>
<HomeSplash language={language} config={this.props.config} />
<div className="mainContainer">
<FeatureCallout />
<UnleashClient />
<TryOut />
<ActivationStrategies />
<Showcase language={language} />
</div>
</div>
);
}
}
module.exports = Index;

49
website/pages/en/users.js Normal file
View File

@ -0,0 +1,49 @@
/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const React = require('react');
const CompLibrary = require('../../core/CompLibrary.js');
const Container = CompLibrary.Container;
const siteConfig = require(`${process.cwd()}/siteConfig.js`);
class Users extends React.Component {
render() {
if ((siteConfig.users || []).length === 0) {
return null;
}
const editUrl = `${siteConfig.repoUrl}/edit/master/website/siteConfig.js`;
const showcase = siteConfig.users.map(user => (
<a href={user.infoLink} key={user.infoLink}>
<img src={user.image} alt={user.caption} title={user.caption} />
</a>
));
return (
<div className="mainContainer">
<Container padding={['bottom', 'top']}>
<div className="showcaseSection">
<div className="prose">
<h1>Who is Using This?</h1>
<p>This project is used by many folks</p>
</div>
<div className="logos">{showcase}</div>
<p>Are you using this project?</p>
<a href={editUrl} className="button">
Add your company
</a>
</div>
</Container>
</div>
);
}
}
module.exports = Users;

12
website/sidebars.json Normal file
View File

@ -0,0 +1,12 @@
{
"documentation": {
"Getting Started": ["getting_started", "securing_unleash", "unleash_context", "activation_strategy", "client_specification", "migration_guide"],
"Developer Guide": ["developer_guide", "database_schema", "database_backup"]
},
"api": {
"Client": ["api/client/features", "api/client/register", "api/client/metrics"],
"Admin": ["api/admin/features", "api/admin/strategies", "api/admin/metrics", "api/admin/events" ],
"Internal": ["api/internal" ]
}
}

108
website/siteConfig.js Normal file
View File

@ -0,0 +1,108 @@
'use strict';
/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
// See https://docusaurus.io/docs/site-config for all the possible
// site configuration options.
// List of projects/orgs using your project for the users page.
const users = [
{
caption: 'FINN.no',
// You will need to prepend the image path with your baseUrl
// if it is not '/', like: '/test-site/img/docusaurus.svg'.
image: '/img/finn.jpg',
infoLink: 'https://www.finn.no',
pinned: true,
},
];
const siteConfig = {
title: 'Unleash', // Title for your website.
tagline: 'The enterprise ready feature toggle service',
url: 'https://unleash.github.io', // Your website URL
baseUrl: '/', // Base URL for your project */
// For github.io type URLs, you would set the url and baseUrl like:
// url: 'https://facebook.github.io',
// baseUrl: '/test-site/',
// Used for publishing and more
projectName: 'unleash.github.io',
organizationName: 'Unleash',
// For top-level user or org sites, the organization is still the same.
// e.g., for the https://JoelMarcey.github.io site, it would be set like...
// organizationName: 'JoelMarcey'
// For no header links in the top nav bar -> headerLinks: [],
headerLinks: [
{ doc: 'getting_started', label: 'Documentation' },
{ doc: 'api/client/features', label: 'API' },
{ page: 'help', label: 'Help' },
// {blog: true, label: 'Blog'},
],
// If you have users set above, you add it here:
users,
/* path to images for header/footer */
headerIcon: 'img/logo-inverted.png',
footerIcon: 'img/logo-inverted.png',
favicon: 'img/favicon/favicon.ico',
/* Colors for website */
colors: {
primaryColor: '#3f51b5',
secondaryColor: '#697ce5',
},
/* Custom fonts for website */
/*
fonts: {
myFont: [
"Times New Roman",
"Serif"
],
myOtherFont: [
"-apple-system",
"system-ui"
]
},
*/
// This copyright info is used in /core/Footer.js and blog RSS/Atom feeds.
copyright: `Copyright © ${new Date().getFullYear()} FINN.no`,
highlight: {
// Highlight.js theme to use for syntax highlighting in code blocks.
theme: 'default',
},
// Add custom scripts here that would be placed in <script> tags.
scripts: ['https://buttons.github.io/buttons.js'],
// On page navigation for the current documentation page.
onPageNav: 'separate',
// No .html extensions for paths.
cleanUrl: true,
// Open Graph and Twitter card images.
ogImage: 'img/unleash_logo.png',
twitterImage: 'img/unleash_logo.png',
// Show documentation's last contributor's name.
// enableUpdateBy: true,
// Show documentation's last update time.
// enableUpdateTime: true,
// You may provide arbitrary config keys to be used as needed by your
// template. For example, if you need your repo's URL...
repoUrl: 'https://github.com/unleash/unleash',
};
module.exports = siteConfig;

View File

@ -0,0 +1,24 @@
/* your custom css */
@media only screen and (min-device-width: 360px) and (max-device-width: 736px) {
}
@media only screen and (min-width: 1024px) {
}
@media only screen and (max-width: 1023px) {
}
@media only screen and (min-width: 1400px) {
}
@media only screen and (min-width: 1500px) {
}
h2.projectTitle {
color: black;
}
.blockImage img {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
website/static/img/finn.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB