blob: 5c52f3f56fcaf59b39af6e07e0fe6a97a40701f4 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="favicon.ico">
<title>Editing this website</title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap theme -->
<!-- Custom styles for this template -->
<link href="css/theme.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
</head>
<div class="container theme-showcase" role="main">
<div class="masthead">
<p class="lead">
<a href="index.html">
<img src="img/asterixdb_tm.png" style="height:75px; width:auto; vertical-align:bottom; margin-top:10px;"/>
</a>
</p>
</div>
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">Overview</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="download.html">Download</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">Stable release</li>
<li><a href="docs/0.9.4.1/index.html">Documentation for 0.9.4.1<i class="fa fa-external-link fa-sm"></i></a></li>
<li class="divider"></li>
<li class="dropdown-header">Snapshot release</li>
<li><a href="https://ci.apache.org/projects/asterixdb/index.html">Documentation for 0.9.5-SNAPSHOT <i class="fa fa-external-link fa-sm"></i></a></li>
<li class="divider"></li>
<li class="dropdown-header">Tutorial for SQL Users</li>
<li><a href="files/SQL_Book.pdf">Don Chamberlin's SQL++ for SQL Users<i class="fa fa-external-link fa-sm"></i></a></li>
</ul>
</li>
<li><a href="about.html">About</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Community<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="community.html">Mailing Lists</a></li>
<li><a href="community.html#irc">IRC</a></li>
<li><a href="community.html#asterixdb-team">Team</a></li>
<li><a href="https://issues.apache.org/jira/browse/ASTERIXDB">Issue Tracker</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">For New Contributors</li>
<li><a href="dev-setup.html">Development Setup</a></li>
<li class="divider"></li>
<li class="dropdown-header">For Committers</li>
<li><a href="pushing.html">Pushing changes</a></li>
<li><a href="site.html">Editing this site</a></li>
<li class="dropdown-header">Extensions</li>
<li><a href="extension.html">Extending AsterixDB</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"
style="padding-right: 30px">
<img src="img/feather.png" style="height:20px"/>Apache Software Foundation<span class="caret"/>
</a>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
<li><a href="http://www.apache.org/"><b>ASF Homepage</b></a></li>
<li><a href="http://www.apache.org/licenses/">License</a></li>
<li><a href="http://www.apache.org/foundation/sponsorship.html">Donate</a></li>
<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a href="http://www.apache.org/security/">Security</a></li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div class="row">
<div class="col-md-8 col-centered">
<h2>Editing this website</h2>
<!-- Major credit to the Apache Flink guys for writing a great doc in a similar vein for their website
that happens to use more or less the same tooling as AsterixDB's. Much of this doc is based on it. -->
<ul id="markdown-toc">
<li><a href="#prerequisites" id="markdown-toc-prerequisites">Prerequisites</a> <ul>
<li><a href="#jekyll" id="markdown-toc-jekyll">Jekyll.</a></li>
<li><a href="#checking-out-the-website-sources" id="markdown-toc-checking-out-the-website-sources">Checking out the website sources</a></li>
</ul>
</li>
<li><a href="#making-a-change-to-the-site" id="markdown-toc-making-a-change-to-the-site">Making a change to the site</a> <ul>
<li><a href="#editing-and-viewing-the-change" id="markdown-toc-editing-and-viewing-the-change">Editing and viewing the change.</a></li>
<li><a href="#submitting-the-change-to-the-live-site" id="markdown-toc-submitting-the-change-to-the-live-site">Submitting the change to the live site</a></li>
</ul>
</li>
<li><a href="#troubleshooting" id="markdown-toc-troubleshooting">Troubleshooting</a></li>
</ul>
<hr />
<h2 id="prerequisites">Prerequisites</h2>
<h3 id="jekyll">Jekyll.</h3>
<p>This website is written using a static website generator called <a href="https://github.com/jekyll/jekyll">Jekyll</a>. To work with editing this website you will need to install it.
In short, Jekyll uses a combination of templated HTML files and Markdown to compile the final site.
Generally, the content itself lies within the Markdown files, and the HTML is for layout.
A full tutorial about how to use Jekyll is out of the scope of this document, but, for our purposes, only Markdown will be edited.</p>
<h3 id="checking-out-the-website-sources">Checking out the website sources</h3>
<p>The website is managed using <code>git</code>. Clone the site as usual</p>
<pre><code>➤ git clone -b asf-site https://git-wip-us.apache.org/repos/asf/asterixdb-site.git
</code></pre>
<p>and <code>cd</code> into the clone</p>
<pre><code>➤ cd asterixdb-site
</code></pre>
<p>You will notice lots of Markdown files and HTML templates in the repository root. The compiled content of the website itself is served from the <code>content/</code> folder in this repository. That is to say, that the actual content of the website itself, as well as its sources are stored in the same repository. Additionally, the main branch on this repository is <code>asf-site</code> and not <code>master</code></p>
<p>Gerrit is used to submit code reviews for the website just as it is with the main codebase. The main difference the site is not strictly subject to code reviews.</p>
<p>Then, you likely will want to check out to make your own topic branch as to not work directly on the “live” branch, like so:</p>
<pre><code>➤ git checkout -b YOU/site
</code></pre>
<p>And perform the git-gerrit init on this branch</p>
<pre><code>➤ git gerrit init -u ssh://YOU@asterix-gerrit.ics.uci.edu:29418/ -p incubator-asterixdb-site
</code></pre>
<h2 id="making-a-change-to-the-site">Making a change to the site</h2>
<p>The general overview is as follows:</p>
<ul>
<li>Make edits and check the output of <code>jekyll build</code></li>
<li>Commit the change and propose it for review</li>
<li>Either wait for a review, or submit the change</li>
</ul>
<h3 id="editing-and-viewing-the-change">Editing and viewing the change.</h3>
<p>For whichever section of the site you want to edit, go ahead and do so with the text editor of your choice. Then, to see what your change looks like, in the repository root, execute:</p>
<pre><code>➤ jekyll serve --watch
</code></pre>
<p>This sets up a small integrated web server and compiles the site dynamically as it is edited. Once you are satisfied with how the site looks, go ahead and commit your changes with git.</p>
<p>Once you have made your commit, push it to Gerrit for review:</p>
<pre><code>➤ git gerrit submit -b asf-site
</code></pre>
<p>For longer edits you might need to update your local <code>asf-site</code> mirror, and then merge that onto your working branch. This will prevent your branch from falling too far out of date, and ensure that your code review proposals will merge successfully with <code>master</code>. Similar to the way this is done for code changes you can use</p>
<pre><code>➤ git gerrit update -b asf-site
</code></pre>
<p>to do this.</p>
<h3 id="submitting-the-change-to-the-live-site">Submitting the change to the live site</h3>
<p>When the submitted review is committed in Gerrit, pull it and overwrite your current asf-site branch:</p>
<pre><code>➤ git fetch gerrit
</code></pre>
<p>Then, push the exact commit from the Gerrit web interface to the ASF git repository. Do this with care! ASF git doesn’t allow hard resets on branches, so whatever you push here is final.</p>
<pre><code>➤ git push origin (SHA1 of submitted commit):asf-site
</code></pre>
<h2 id="troubleshooting">Troubleshooting</h2>
<p>If jekyll produces an error message like this one:</p>
<pre><code>➤ jekyll serve --watch
Configuration file: /.../asterixdb-site/_config.yml
You are missing a library required for syntax highlighting. Please run:
$ [sudo] gem install pygments
jekyll 3.1.2 | Error: uninitialized constant Kramdown::Converter::PygmentsHtml::FatalException
</code></pre>
<p>this might fix it:</p>
<pre><code>➤ sudo gem install pygments.rb
</code></pre>
</div>
</div>
<hr/>
<footer>
<div class="row">
<div class="col-md-9 col-centered text-center">
<p/>
<p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
<p>Apache AsterixDB, the Apache AsterixDB logo, Apache, and the Apache feather logo are trademarks of the
Apache Software Foundation</p>
</div>
</div>
</footer>
</div> <!-- /container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>