• Stars
    star
    302
  • Rank 138,030 (Top 3 %)
  • Language Vue
  • Created over 9 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

System76 support documentation site

System76 Support Docs

The docs system is powered by NuxtJS with @nuxtjs/content, tailwindcss, and some other packages. It uses Markdown in the /content/ folder to render every article. If you don't know what Markdown is (or need a refresher), take a minute to look over the basics.

Adding Articles

All articles are stored as Markdown files under /content/. For example, take a look at the /content/upgrade-pop.md file.

To create a new support article, click the + icon at the top of the /content/ page.

Name the file something short but descriptive. This will be part of the URL, for example server-setup.md will become https://support.system76.com/articles/server-setup. Don't use spaces; instead, use dashes (-).

Then include the following text at the very top of the file (including the ---es).

---
title: Do the thing
description: >
  A more descriptive sentence or two about the page; will show up in search
  engines and on the support home page.
keywords:
  - List
  - of
  - keywords
  - about
  - this
  - page
  - System76

facebookImage: /_social/article
twitterImage: /_social/article

hidden: true
section:
---

A couple of notes:

  • After the --- line, you can type the contents of the article in markdown. Feel free to use # Heading1, ## Heading2, **bold**, _italic_, and other markdown to make the page look awesome.

  • For keyboard shortcuts, use the HTML tag <kbd>, i.e. <kbd>Alt</kbd>+<kbd>F4</kbd>.

  • The default publication status is set to hidden: true. To make your article visible, change the hidden: true to hidden: false in the top of the file.

  • To make your article visible within a section, write the section name in the section: line. For instance, to add an article to the "Switching to Linux" section, the line should be section: switching.

When you're all done, fill out the "Commit new file" form at the bottom with the description of your changes and press the "Commit changes" button.

Editing an Article

To edit or update an article, click on the article's file in GitHub. Then click the pencil "Edit this file" icon on the top-right. You can now edit the contents right on GitHub. To see what it will look like before you save it, click the "Preview changes" tab at the top.

When you're all done, fill out the "Commit changes" form at the bottom with the description of your changes and press the "Commit changes" button.

Sections

Articles will only show up under the section they are configured for. If you set hidden: true in an article, it will not be visible on any of the index pages, and you will need to know the direct URL to view it.

If you want an article to not show up on the index page, but be visible on /articles, set hidden: false and remove the section: line from the article.

To get an article to show up under Frequently Answered Questions, set section: faq.

To get an article to show up under Known Solutions, set section: solutions.

To get an article to show up under Articles, set section: articles.

Files, Images, and Links

To store files (i.e. BIOS updates), put them in the /static/files folder. If it's a BIOS/fireware update, it goes in the /static/files/firmware folder and should be named like model-version.bio.zip, i.e. meer1-0358.bio.zip.

Anything in the static/ folder will be available at the base URL. For instance, /static/files/firmware/meer1-0358.bio.zip will be downloadable at https://support.system76.com/files/firmware/meer1-0358.bio.zip.

When linking to files, please use the absolute path, i.e. /files/firmware/meer1-0358.bio.zip.

Icons

The Ubuntu logo can be included in a doc using the following HTML tag:

<font-awesome-icon :icon="['fab', 'ubuntu']"></font-awesome-icon>

You can embed this in other Markdown and Tags, for example, you can create an Pop!_OS (Super) key:

<kbd>
  <font-awesome-icon :icon="['fab', 'pop-os']"></font-awesome-icon>
</kbd>

Local Development

This site is built with NuxtJS and @nuxtjs/content. To get started, you will need to clone this repository to your local computer.

Next, you will need to setup node 14 <= and npm. The nodejs website has great documentation on how to do this.

After that, you can run npm ci to install the needed packages, and npm start to start the development site. You will then see a Listening: http://localhost:3000/ line in your console showing where you can access the development site.

To deploy changes, simply make a PR to the system76/docs GitHub repository and once it's merged, it will be deployed to the live site!

More Repositories

1

launch

System76 Launch Configurable Keyboard
Shell
1,376
star
2

firmware-open

System76 Open Firmware
C
946
star
3

virgo

System76 Virgo Laptop Project
Python
431
star
4

thelio

Thelio Desktop by System76
426
star
5

ec

System76 Open Source Embedded Controller
C
317
star
6

firmware-update

System76 Firmware Update Utility
Rust
200
star
7

coreboot

Fork of coreboot repo
C
161
star
8

beansbooks

A revolutionary cloud accounting platform designed for small and medium businesses.
PHP
129
star
9

thelio-io

Master repository for Thelio Io board
Rust
81
star
10

beebee

URL shortener for http://s76.co
Elixir
58
star
11

thelio-io-hardware

KiCad electrical design of Thelio Io board
Python
54
star
12

tech-docs

System76 Technical Documentation
CSS
50
star
13

laptop-suggestions

Repo to collect laptop design suggestions and feedback as issues.
41
star
14

windows-drivers

Windows Drivers for System76 Open Firmware Machines
40
star
15

certification

System76 Certification Tools
Rust
29
star
16

pop-vue

Vue components designed to look like Pop!_OS
JavaScript
26
star
17

cuda

Packaging for NVIDIA's CUDA Toolkit
CMake
21
star
18

ecflash

Flashing and querying with System76 Embedded Controllers
Rust
20
star
19

coreboot-collector

Utility for collecting valuable information for coreboot
Rust
19
star
20

recognizer

A authentication and user service
Elixir
19
star
21

firmware-desktop

Desktop Firmware
18
star
22

firmware-setup

Firmware Setup
Rust
18
star
23

thelio-io-windows

WIP Windows driver for System76 Thelio Io
Rust
17
star
24

intel-spi

Library for accessing Intel PCH SPI
Rust
13
star
25

warehouse

A microservice to encapsulate our inventory management functionality
Elixir
13
star
26

romulan

Rust library for parsing a number of firmware images
Rust
12
star
27

brand

12
star
28

thelio-io-firmware

Firmware for Thelio Io board
C
12
star
29

lxd-rs

A Rust library for controlling LXD
Rust
10
star
30

kicad-allegro

Converter from Allegro to KiCad, and Allegro extract viewer
Rust
9
star
31

bottle

Protobuf messages in a bottle
9
star
32

pihsm

Raspberry Pi Hardware Security Module
Python
9
star
33

ecsim

Simulate System76 EC with area8051 emulator
Rust
9
star
34

ecspy

System76 EC Debugger
Rust
9
star
35

firmware-smmstore

Rust EFI application for compacting coreboot SMMSTORE
Rust
8
star
36

takehome_web_be

Take home project used during our interview process for backend developer roles.
Elixir
7
star
37

GuyTuxMask

3-D and 2-D files of the Guy Tux mask
6
star
38

markdown

System76 markdown parsing for the web
JavaScript
6
star
39

system76-benchmarks

Collection of benchmarking tools developed by System76
Python
6
star
40

design

System76 styles and design related web assets
Vue
6
star
41

code-of-conduct

Code of Conduct for the System76 open source community
5
star
42

js-api

JavaScript fetch wrapper for Elixir Phoenix APIs
JavaScript
5
star
43

nuxt-appsignal

Appsignal integration with Nuxt
JavaScript
5
star
44

zendesk-app

The System76 zendesk app
Vue
5
star
45

eslint-config

System76 standard eslint linting configuration
JavaScript
5
star
46

policy

Elixir
5
star
47

assembly

An assembly management microservice
Elixir
5
star
48

thelio-io-output

Output files for Thelio Io board - from thelio-io-hardware and thelio-io-firmware
5
star
49

firmware-sign

Firmware signing/verifying process
Python
5
star
50

state_fair

State machine system for Elixir applications
Elixir
4
star
51

help_desk

A microservice for System76's Zendesk integration
Elixir
3
star
52

elixir-mcrypt

Elixir NIF wrapper around libmcrypt
Elixir
3
star
53

thelio-pwrbtn

Thelio power button PCB
Python
3
star
54

apobtool

AMD APOB debug tool
Rust
3
star
55

copy_cat

A template repository for new queue based services
Elixir
3
star
56

blog

Official System76 blog
Vue
3
star
57

smmstore

Utility for reading coreboot SMMSTORE
Rust
2
star
58

docker

A collection of docker images used at System76
Shell
2
star
59

unleash-potential

Unleash Your Potential with this awesome command line art!
Python
2
star
60

softwarefreedom_card

2
star
61

easy_post

Elixir API client for EasyPost
Elixir
2
star
62

bullhorn

A notification microservice for System76's platform
Elixir
2
star
63

smart-amp

TI Smart Amp configuration dumper and loader
C
1
star
64

launchpad

Launch Keyboard Selma Tester control application
Python
1
star
65

system76-ee

Scripts for System76 Electrical Engineering
Julia
1
star
66

ground_control

A real-time dashboard of @system76 deployments.
Elixir
1
star
67

shig

Style & Human Interface Guidelines
1
star
68

usb_ids

System76 USB ID allocation
1
star
69

thelio-prelaunch

Thelio prelaunch website
HTML
1
star
70

gop-policy

Implementation of Platform GOP Policy for Intel GOP Driver
Rust
1
star
71

roguebots

HTML
1
star
72

keyboard-layout

Rust crate to generate DXF output from keyboard-layout-editor.com data
Rust
1
star
73

logripper

Pull logs from an S3 bucket into a local database
Elixir
1
star
74

tweetflood

A twitter API client to for tweetstorm promotions
Elixir
1
star
75

s76_stripe

An Elixir API client for Stripe
Elixir
1
star
76

libpci-sys

Rust bindings for libpci
Rust
1
star
77

renovate-config

System76 presets for Renovate
1
star