Giter Club home page Giter Club logo

docs-ng's Introduction

docs-ng is the official Couchbase documentation repository.

DO NOT CREATE BRANCHES IN THIS REPO

Please DO NOT create branches in this repository. If you want to contribute, create your own fork, as described below under How to Contribute Code.

About

This is a project to build a static documentation website for Couchbase.

Showstoppers/Blockers

  • Something better than Google Custom search or alternate page separatation/anchors, especially for jump-links. (Marty - investigating)

General Requirements/Features

  • Breadcrumb navigation - phase 2
  • PDF/Print Stylesheet - phase 2
  • Add corporate website headers, footers, etc to docs initial landing page (Karen - done)
  • Improve left navigation. Items at end disappear when multiple sub-menus are open. (Volker - DONE)
  • Short-term mobile hack -toggle open and close of left navigation to support mobile. (Volker)
  • Longer term mobile layout.
  • Input/improvements popout hooked up to CBugg (Dustin)
  • Parser/conversions from SDK comments to Markdown (Sergey Ruby and C)
  • Anything else you can think of to make this a great user and authoring experience.
  • Make repo public, or at minimum add support as contributors.
  • Provide longer pages with jump links to subsections

How to Contribute Code

  1. Fork it and clone (git clone [email protected]:USERNAME/punch_stuff.git)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

How to Run Locally

Make sure you have Bundler,

gem install bundler

Install the dependencies,

bundle install

And run the generator and server with Foreman

foreman start

The site will be available at http://localhost:3000/

Resources

Internal Staging site at docs.pub.couchbase.com External Site

How to Contribute Content

#Intro

Welcome to the new static website for Couchbase TechPubs. To create content, you can author all your information in Markdown. If you need a new guide, contact TechPubs so we can discuss and agree upon any new folders and naming. TechPubs will set up your initial folder as well as add it to site navigation.

##Staging Site and Production Site

The Staging server is setup to get and produce content in stage branch of docs-ng. There is a second copy of the repo that will produce and publish the master branch of docs-ng to the public system at S3.

##Source Control

The entire new site as well as new content are in a public GitHub repo you can branch:

  • To edit content, branch this repo make your changes to existing files: Github Repo for docs-ng

  • Then git checkout stage to work on the staging server-only content

  • To check the branch you are on use git branch

  • Commit your changes, git add and git commit

  • Push change to staging repo: git push

  • When you areready, send a pull request so your changes can be merged and published

  • Tech Pubs will elevate any content from the stage repo to the master repo, resolving any merge conflicts if needed:

      git checkout stage
      git pull #make sure stage repo up to date
      git checkout master
      git pull #make sure mater repo up to date
      git merge stage #to merge staged changes to master branch
      git push #to push to master
    

##New Guides and New Major Versions

TechPubs will set up your new folder for new guides or new major versions, for example this_guide_name-X.X. TechPubs will also set up the YAML file to include menu options and navigation to your guide. Follow these guidelines once your file is set up:

  • Create .markdown files for each chapter in your guide.

  • Create an index.erb file at the root of the content folder. In this file add an include statement for each .markdown chapter, for instance:

    <%= include_item 'couchbase-devguide-2.0/couchbase-developer-s-guide-2.0' %>

  • In your guide folder, keep all your images in a file called images.

##Adding and Editing Content

Follow the spec set down by John Gruber for Markdown

There are other options supported by Multi-Markdown which we also support, most importantly tables. For information on creating tables, see Markdown Cheatsheet

In general you can use any editor of your choice, with the preference that it includes some automatic spell- and grammar- checking.

After you are done making your changes, make sure you make a pull request so they are picked up in the master repo and published on the staging server.

##Previewing and Publishing Content

To preview your content locally, in the docs-ng repo convert your Markdown to HTML:

nanoc

Then you can preview it:

nanoc view

Open your web browser to localhost:3000/guide_name/

When you content is ready to stage, commit it and send a pull request to have it added to the master branch in GitHub. This will get picked up by the staging server automatically.

How to Convert on Docs Staging

  1. Manually:

     cd /home/docs/docs-ng  
     ./pull_publish.sh  
    
  2. Automatically

    The ./pull_publish.sh is running automatically as a cron job every 60 minutes and will pull from git, convert with nanoc.

docs-ng's People

Contributors

amy-kurtzman avatar apage43 avatar avsej avatar b33f avatar brett19 avatar daschl avatar daverigby avatar dustin avatar geraldss avatar gwenonacouch avatar ingenthr avatar jeffrymorris avatar karenzeller8 avatar malarky avatar matthewrevell avatar mnunberg avatar paintscratcher avatar pavel-paulau avatar sarbogast avatar scalabl3 avatar snej avatar vmx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs-ng's Issues

strange issue on hover over the menubar

the sidebar is like a Chesire cat (on latest Chrome) where it occasionally goes invisible and only comes back when you hover over it. Here are a few screenshots over time:

screen shot 2013-09-17 at 2 03 27 pm 2

screen shot 2013-09-17 at 2 03 30 pm 2

screen shot 2013-09-17 at 2 03 32 pm 2

Encoding error from nanoc

When I attempt to generate the docs with nanoc I encounter an encoding error:

RuntimeError: Could not read content/assets/js/jquery.js because the file is not valid US-ASCII.

Adding encoding: utf-8 in the data_sources section of nanoc.yaml resolves the issue for me, and the docs are then generated, but I am unsure if this is the proper solution.

Typo in 2-phase commit diagram?

I'm currently reading the doc for advanced topics in development and in the chapter about 2-phase commit, I'm a bit confused by the diagram that appears after this paragraph: "This next illustration shows you the diagram we initially introduced to you at the start of this section. but this we update it to show when system failures may occur and the rollback scenario you may want to provide. Depending on the programming language that you use, how you implement the rollbacks may vary slightly:"

In the 3rd line, the document for karen still has 500 points but transaction trans1 has been recorded. According to the code, this should not be possible. Should this stage show 400 points for Karen already?

Need to get versioning Widget functioning

We're not able to put this into production per the powers that be until we get the versioning widget in HAML functioning. Feel free to play with the nanoc.yaml too.

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.