This repo generates the content served on https://janusgraph.org
To make changes, you should install the local setup and once you're ready to submit changes, please provide a pointer to a previewable version via your published fork on GitHub. See instructions below for both of these below.
While developing the site, it is very helpful to have fast turnaround between
making changes and seeing how they work via Jekyll—you don't want to wait for a
git push + GitHub build cycle before seeing any changes. Thus, we want to
preview changes that we make using a local setup.
-
Install Ruby and Bundler
-
Install the necessary Ruby Gems for this repo into
.bundle:make install
-
Run Jekyll locally to serve the site:
make serve
-
Visit http://localhost:4000/ to see the site. Now, any changes you make to
index.mdor any dependent files will be instantly previewable in your browser with a refresh.
Before pushing the site to production, and a great way to demonstrate proposed changes during code review, you should push the changes to your personal GitHub fork as follows:
-
Fork the website repo to your account via GitHub
- note: the
masterbranch of this repo is the one that is auto-published to https://janusgraph.org soon after a commit
- note: the
-
Clone your copy of the repo locally
$ git clone [email protected]:[USERNAME]/janusgraph.org.git $ cd janusgraph.org $ git remote add upstream [email protected]:JanusGraph/janusgraph.org.git -
Create a new branch for your changes, based on the latest changes in the
masterbranch of the upstream repo:$ git checkout master $ git pull upstream master --ff-only $ git checkout -b [MY-BRANCH-NAME]Note: the
--ff-onlyflag enforces a "fast-forward" only merge, which guarantees that yourmasterbranch is a clean copy of the upstreammasterbranch. If yourmasterbranch cannot be fast-forwarded to match the upstreammaster, this command will fail. It is recommended to never submit yourmasterbranch as a base of a pull request and only keep it to sync with upstream.This process ensures that your pull requests are always minimal and simple to review. This approach is also recommended when contributing to other git repos as well.
Always create a new branch for each new pull request; never push from your own
masterbranch to a new PR, keep a cleanmasterbranch so that it stays in sync with upstream.Note:
[MY-BRANCH-NAME]here is a placeholder for a brand-new branch name that does not yet exist in your repo; the command above will create this new branch for you. -
Make the changes you need and commit them to this branch.
-
Push your feature branch to the
gh-pagesbranch on your fork on GitHub, so that everyone will be able to see a preview of your change:$ git push -f origin [MY-BRANCH-NAME]:gh-pagesNote:
[MY-BRANCH-NAME]is the placeholder for the same branch name as selected above; this branch must exist at the time of running the above command.To simplify this process, you can also run:
$ make preview-via-githubwhich actually runs the following command:
$ git push -f origin $(git rev-parse --abbrev-ref HEAD):gh-pageswhich automatically discovers the current branch you're on and pushes that to GitHub, using the
gh-pagesbranch. -
Visit the "Settings" page for your fork on GitHub and make the
gh-pagesauto-publishable- note: after you make this change, you will get an email that you could not publish this site because the CNAME of janusgraph.org is already taken by another site (i.e., the canonical repo). You will also see a warning about this on the GitHub UI. Both of these warnings are safe to ignore because we are trying to create a personal test copy, not update the live site.
-
Now you can visit your site at
https://[your-username].github.io/janusgraph.org/to see your changes -
Now you can push your
[MY-BRANCH-NAME]to your fork to open a pull request using it.Important: do not use either
gh-pagesormasterbranch to submit pull requests; use a separate feature branch for every change and every pull request, and delete each of those branches after the pull request is either merged or abandoned. -
Any changes you continue to push to your
gh-pagesbranch will keep updating live on GitHub after a few minutesNote: you will get warning emails from GitHub saying that your repo is attempting to publish to the URL
janusgraph.orgwhich is already taken. This is fine; you can ignore these emails — it is saying that you cannot publish directly to that hostname from your private repo, which is correct.
-
First, update your
masterbranch and pick up the latest changes, run:$ git checkout master $ git pull upstream master --ff-onlyNote: the
--ff-onlyflag enforces a "fast-forward" only merge, which guarantees that yourmasterbranch is a clean copy of the upstreammasterbranch. If yourmasterbranch cannot be fast-forwarded to match the upstreammaster, this command will fail. It is recommended to never submit yourmasterbranch as a base of a pull request and only keep it to sync with upstream.This process ensures that your pull requests are always minimal and simple to review. This approach is also recommended when contributing to other git repos as well.
-
Then, update your feature branch via
git rebaseto avoid including other users' changes into your branch, which makes CLA verification harder:$ git checkout [MY-FEATURE-BRANCH] $ git rebase master $ git push -f origin
This repo uses a combination of Apache 2.0 and
CC-BY-4.0; see LICENSE.txt for details.