Starting point for a website (#1114)

* Create a simple Zola website on a subdirectory

This uses the [Juice theme](https://www.getzola.org/themes/juice/), with
small customizations. It could be further customized later.

* Automate website content update

RISS and Makefile are used to pull the website content from various
parts of the neovide repository (reusing images and the README.md file
for instance)

* Document how to build and edit the website

It can be counter-intuitive to have to make changes outside of the
`website` directory, adding documentation and scripting clarify it.

* Deploy automatically to GitHub Pages

Uses https://github.com/marketplace/actions/zola-deploy-to-pages to
build and deploy the website on GitHub Pages.

TODO (after merging)
* A `TOKEN` need to be set as explained in https://github.com/marketplace/actions/zola-deploy-to-pages#secrets
* I’ve tested with https://cljoly.github.io/neovide/, but we need to
  change this to at least https://neovide.github.io/neovide/.

* Fix website URL

Co-authored-by: Keith Simmons <keith@the-simmons.net>
macos-click-through
Clément Joly 3 years ago committed by GitHub
parent f7845c7792
commit 4424731ba4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,38 @@
name: Website
on:
push:
branches:
- main
pull_request:
jobs:
build:
runs-on: ubuntu-latest
if: github.ref != 'refs/heads/main'
steps:
- name: 'Checkout'
uses: actions/checkout@master
- name: 'Content update'
run: |
make -C website content_update
- name: 'Build only'
uses: shalzz/zola-deploy-action@master
env:
BUILD_DIR: website
BUILD_ONLY: true
build_and_deploy:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- name: 'Checkout'
uses: actions/checkout@master
- name: 'Content update'
run: |
make -C website content_update
- name: 'Build and deploy'
uses: shalzz/zola-deploy-action@master
env:
PAGES_BRANCH: gh-pages
BUILD_DIR: website
# See https://github.com/marketplace/actions/zola-deploy-to-pages#secrets for details
TOKEN: ${{ secrets.TOKEN }}

3
.gitmodules vendored

@ -0,0 +1,3 @@
[submodule "website/themes/juice"]
path = website/themes/juice
url = https://github.com/huhu/juice

@ -1,4 +1,13 @@
<!-- insert
---
title: Neovide
date: 2021-12-23T22:13:46
---
end_insert -->
<!-- remove -->
# Neovide [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/SjFpZdQys6) [![Chat on Matrix](https://matrix.to/img/matrix-badge.svg)](https://matrix.to/#/#neovide_community:gitter.im) [![Discussions](https://img.shields.io/badge/GitHub-Discussions-green?logo=github)](https://github.com/Kethku/neovide/discussions)
<!-- end_remove -->
<!-- Powered by https://cj.rs/riss -->
This is a simple graphical user interface for [Neovim](https://github.com/neovim/neovim) (an aggressively refactored and updated
Vim editor). Where possible there are some graphical improvements, but functionally it should act like the terminal UI.

@ -0,0 +1,6 @@
# Zola output
public
# Will be copied during the build process
static/assets
# Most md files are created by RISS on the fly, updated during the build process
content/*.md

@ -0,0 +1,16 @@
.PHONY: md_update
md_update:
@awk -f ./riss.awk < ../README.md >content/_index.md
.PHONY: content_update
content_update: md_update
@mkdir -p static/assets
@cp -r ../assets static/
.PHONY: all
all: content_update
@zola build
.PHONY: serve
serve: content_update
@zola serve

@ -0,0 +1,18 @@
## Build
To build neovides website, ensure you have [zola](https://getzola.org/) and `awk` installed.
Then, in this directory, run:
```sh
git submodule update --init
make serve
```
## Edit
To ease maintenance, markdown files in [`content`](./content/) are often sourced from other parts of the repository, thanks to [RISS](https://cj.rs/riss). RISS allows to change the files slightly, see the [transformation reference](https://cj.rs/readme-in-static-site/#transformations-reference) for the syntax.
For instance, `content/_index.md` is sourced from the [`README`](/README.md). Thus to make changes to `content/_index.md`, edit the [`README`](/README.md) and run:
```
make md_update
```

@ -0,0 +1,23 @@
# The URL the site will be built for
base_url = "https://neovide.github.io/neovide"
theme = "juice"
# Whether to automatically compile all Sass files in the sass directory
compile_sass = true
# Whether to build a search index to be used later on by a JavaScript library
build_search_index = false
[markdown]
# Whether to do syntax highlighting
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
highlight_code = true
[extra]
# Put all your custom variables here
juice_logo_name = "Neovide"
juice_logo_path = "assets/neovide.svg"
juice_extra_menu = [
{ title = "Github", link = "https://github.com/neovide/neovide"}
]
repository_url = "https://github.com/neovide/neovide"

@ -0,0 +1,41 @@
#!/usr/bin/awk -f
#
# Copyright 2021 Clément Joly
# https://cj.rs/riss
#
# 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
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Divide the input file into these types of sections:
# * inserting: the current line is copied to the output, verbatim
# * removing: the line is not copied to the output
# To distinguish between these sections, the script interprets special
# comments. These comments are removed from the output.
BEGIN {
# Section identifier
removing = 0
}
/^<!--+ remove -+->$/ {
removing = 1
next
}
/^<!--+ end_remove -+->$|^<!--+ insert$|^end_insert -+->$/ {
removing = 0
next
}
! removing {
print $0
}

@ -0,0 +1,15 @@
<style>
:root {
/* Primary theme color */
--primary-color: #FED43F;
/* Primary theme text color */
--primary-text-color: #543631;
/* Primary theme link color */
--primary-link-color: #F9BB2D;
/* Secondary color: the background body color */
--secondary-color: #fcfaf6;
--secondary-text-color: #303030;
/* Highlight text color of table of content */
--toc-highlight-text-color: #d46e13;
}
</style>

@ -0,0 +1,32 @@
{% extends "juice/templates/index.html" %}
{% block hero %}
<section class="text-center">
<h1 class="heading-text" style="font-size: 50px">
No Nonsense Neovim Client in Rust
</h1>
<div>
<img src="https://badgen.net/badge/icon/discord?icon=discord&amp;label" alt="Discord"></a> <a href="https://matrix.to/#/#neovide_community:gitter.im"><img src="https://matrix.to/img/matrix-badge.svg" alt="Chat on Matrix"></a> <a href="https://github.com/Kethku/neovide/discussions"><img src="https://img.shields.io/badge/GitHub-Discussions-green?logo=github" alt="Discussions"></a>
</div>
</section>
<img class="hero-image" style="width: 50%" src="{{ get_url(path="assets/neovide.svg") }}">
<div class="explore-more text"
onclick="document.getElementById('features').scrollIntoView({behavior: 'smooth'})">
Explore More ⇩
</div>
<style>
.hero section {
padding: 0 5rem;
}
@media screen and (max-width: 768px) {
.hero section {
padding: 0 2rem;
}
.hero-image {
display: none
}
}
</style>
{% endblock hero %}

@ -0,0 +1 @@
Subproject commit a5eb57d2781eed43301215e27679c0bb7b4cbedf
Loading…
Cancel
Save