GithubHelp home page GithubHelp logo

isabella232 / nats-site Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nats-io/nats-site

0.0 0.0 0.0 123.74 MB

Website content for https://nats.io. For technical issues with NATS products, please log an issue in the proper repository.

License: Apache License 2.0

HTML 62.46% JavaScript 29.19% CSS 0.16% Makefile 0.25% Dockerfile 1.08% Python 1.65% Shell 0.21% Less 5.00%

nats-site's Introduction

NATS.io

The site is based on the Bootstrap framework, and the content structure is designed to be simple, informative, intuitive and fast -- just like NATS! Please keep these principles in mind as you modify existing content or design new content for the nats.io site.

For more information on Bootstrap's themes, conventions, and content support (HTML/CSS/JS), please visit the Bootstrap website.


Contents


Contributing content

We view this project as a perpetual work in progress that can greatly benefit from and be enriched by the knowledge, wisdom and experience of our community.

We follow the standard Fork-and-Branch GitHub workflow. If you're not familiar with this process, please refer to either of the following excellent guides:

We encourage and welcome your contributions to any part or element of this site. We will review and discuss with you any contributions or corrections submitted via GitHub Pull Request.


General Style Guidelines and Conventions

Markdown guidelines

  • Use topic-based files and titles
  • Use only headers 1 (#), 2 (##) and 3 (###)
  • Use single spaces to separate sentences
  • Markdown syntax: https://daringfireball.net/projects/markdown/syntax#img
    • Links: [NATS](https://nats.io/)
    • Cross references: [Clients](/clients/)
    • Images: ![drawing](/img/nats-msg.png)
  • Triple ticks for code, commands to run, user operations, input/output
  • Single ticks for executable names, file paths, inline commands, parameters, etc.
  • Graphics: save as *.png; source in /src/img/nats-brokered-throughput-comparison.png

Content Organization

The basic organization of the site is very simple, with each top navigation link corresponding to a Markdown file in the nats-site/content directory. The HTML documents and any Markdown documents contained in this directory are assembled by Hugo and rendered to static HTML during the build process.

The structure of the content directory is as follows:

- /content
	- /blog
	- /documentation
	- /download
	- about.html
	- community.md
	- contributing.md
	- index.html
	- support.html
	- privacy.md

The html files or directories should be pretty self explanatory for what pages they are used for.


Adding Documentation

The NATS documentation has moved to the nats-io/docs repo.

The structure of the content in the docs directory is as follows:

- /developer
- /gateways
- /leafnodes
- /nats_admin
- /nats_docker
- /nats_protocol
- /nats_server
- /nats_streaming
- /nats_tools
- /sys_accounts
- /whats_new

To update content, only the .md files should be used. The .html files in the repo nats-io/docs are auto-generated by gitbook when building the book.

Adding Content Pages

Any new page should be a raw Markdown document placed in the appropriate content directory listed above.

Adding Quotes to Community

To add a new quote and logo to /community you are going to have to modify /layouts/partials/quotes.html and follow the convention as seen from the existing quotes.

If you have a logo to go along with the quote, just add a full size .jpeg or .png logo to /src/user_logos. Then run gulp in the terminal to generate the proper image size. Then link do the generated image in static/img/user_logos. Example: <img src="/img/user_logos/FILENAME.EXT">


Adding a Blog Entry

To add a new blog entry, use the hugo new command like the following:

	hugo new blog/page-url-for-blog-post.md

Replace page-url-for-blog-post with a SEO (Search Engine Optimization) friendly page url like: nats-lands-in-london. So the resulting command would be: hugo new blog/nats-lands-in-london. Then new blog entry would reside at: https://nats.io/blog/nats-lands-in-london

Once the command is run you can find the new blog entry in content/blog/nats-lands-in-london.md.

In the frontmatter of the new entry you will see metadata like this:

+++
date = "2019-12-01"
draft = true
title = "NATS Lands in London"
author = "Esteemed NATS Thought Leader"
categories = ["Engineering"]
tags = ["NATS"]
+++

Make sure to update that page metadata to reflect the specifics of your post (author, targeted publish date, etc.).

By default, draft = true is set on blog posts. When a post has this status, it won't be published to the production site, but it will be viewable via the Netlify deploy preview. The following must be true for a post to go live on the site:

  • The post's date must not be in the future
  • The draft parameter must be set to false or not be present

Categories

For Categories you are going to add on or more of the following:

  • General
  • Engineering
  • Community

So for our example we would change categories in the frontmatter to:

	categories = ["Community"]

Date

The date timestamp should be the exact time you ran the command to create the new blog entry. If you need to change it make sure you follow the same convention that is already there. date = "2015-11-05T11:45:03-08:00". The date cannot be in the future.

Tags

For Tags, you can add as many tags as you feel are needed and they can be anything:

	tags = ["nats","london","community"]

Title

A default title is generated from the url you provided with the hugo command but we recommend you change this to something is better suited for display purposes. Example: title = "NATS Lands In London"

Blog Entry Content

Images

To add images to a blog entry, first place them in /src/blog. You may add images of any size, but please make sure they are at least 800x600 for quality purposes. Once added, run gulp in the root of the repo. This will automatically resize any images added and put them in the proper place.

You may link to these images then. Example: <img src="/img/blog/IMAGE-NAME.png">

Embedded Tweets

To add an embedded tweet, you just need to grab the embed code from the tweet, and then wrap the embed code in a div as follows:

	<div class="tweet-embed-con">
	  <!-- Twitter Embed code goes here -->
	</div>

Check out the blog entry /content/blog/nats-lands-in-london.md for a detailed example.

Content

For adding content to the blog entry, please follow the style guidelines and conventions below.


Adding a Company Logo

If you are a production end user of NATS and would like your company logo displayed on our Community page, please email [email protected] with your request.


Local Development

You can either user docker image for your local development or install requirements following this documentation.

Clone your forked copy of the repository:

git clone [email protected]:<YOUR GIT USERNAME>/nats-site.git

Change to the directory:

cd nats-site/

Install Prerequisites

Install Hugo, npm, ImageMagick, GraphicsMagick.

Building the NATS site/documentation currently requires Hugo version 0.53 or higher. Installation instructions can be found here.

If you are running on MacOS, you can try issuing the command make setup, this command will brew install requirements. Please refer to the Makefile for more information.

Enter the following commands to install additional software dependencies (if you used make setup you can skip this next step.)

npm install
npm install --global gulp-cli

Building the Site

Images and other source assets live in the src directory. The build workflow will resize images, and compile files in src and create the assets directory for hugo.

gulp build

The gulp command will do a build of the src directory and copy assets to the the static directory. This command will also run hugo and process the content directory creating a snapshot of the site in the public directory.

To preview your changes, run:

hugo server

hugo server starts hugo as a server. You can directly edit your forked repository and then go to https://127.0.0.1:1313 to preview your changes on a browser.

Whenever src is modified, remember to run gulp build to update the static directory, and allow hugo to see the changes.

Create a new blog post :

hugo new blog/my-blog-post.md

nats-site's People

Contributors

gcolliso avatar kozlovic avatar chriscasper avatar colinsullivan1 avatar aricart avatar mffrench avatar lucperkins avatar polyg314 avatar philpennock avatar wallyqs avatar byrnedo avatar lparis avatar dependabot[bot] avatar custa avatar repejota avatar jethr0null avatar jtemporal avatar danielwertheim avatar bjflanne avatar jirenius avatar guitarbum722 avatar anadon avatar shawnmilo avatar hesidoryn avatar vykulakov avatar baoyachi avatar yuce avatar timosellin avatar baconalot avatar masudur-rahman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.