cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mwbro...@apache.org
Subject [1/3] docs commit: Add Vagrant support.
Date Mon, 09 Jun 2014 23:21:53 GMT
Repository: cordova-docs
Updated Branches:
  refs/heads/master 6df222bf3 -> 1fcfb55b6


Add Vagrant support.


Project: http://git-wip-us.apache.org/repos/asf/cordova-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-docs/commit/e1030bb9
Tree: http://git-wip-us.apache.org/repos/asf/cordova-docs/tree/e1030bb9
Diff: http://git-wip-us.apache.org/repos/asf/cordova-docs/diff/e1030bb9

Branch: refs/heads/master
Commit: e1030bb90fe478f11078c11485161e4abb1cdb4d
Parents: 6df222b
Author: Michael Brooks <michael@michaelbrooks.ca>
Authored: Mon Jun 9 15:42:51 2014 -0700
Committer: Michael Brooks <michael@michaelbrooks.ca>
Committed: Mon Jun 9 16:21:27 2014 -0700

----------------------------------------------------------------------
 .gitignore                  |   1 +
 README.md                   |  35 ++++++++++-
 Vagrantfile                 | 125 +++++++++++++++++++++++++++++++++++++++
 lib/cordova/version_menu.rb |   3 +-
 vagrant/cordova-docs.sh     |  30 ++++++++++
 5 files changed, 191 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e1030bb9/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 71e5512..e3db388 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@ _*
 /markdown
 /Gemfile.lock
 *Screen Shot [0-9]*
+/.vagrant

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e1030bb9/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 984228b..5e65910 100644
--- a/README.md
+++ b/README.md
@@ -77,8 +77,39 @@ Each language can override the default template in `template/docs/LANGUAGE`.
 
 Please see the `STYLESHEET.md` file for guildelines on language and usage.
 
-Generating the Documentation
-----------------------------
+## Generating Documentation with Vagrant
+
+### Setup
+
+- [Install Vagrant](http://www.vagrantup.com/downloads.html)
+- [Install VirtualBox](https://www.virtualbox.org/wiki/Downloads)
+
+### Initialize Vagrant Box
+
+    $ cd cordova-docs/
+    $ vagrant up
+
+### Build the Documentation
+
+    $ vagrant ssh
+    $ cd /vagrant             # shared copy of this repo
+    $
+    $ ./bin/generate          # compile all docs
+    $ ./bin/generate en edge  # compile English Edge docs
+    $
+    $ exit                    # exit the ssh tunnel
+
+The `/vagrant` directory is a shared copy of this repository. When the
+documentation is done generating, you will see a `public/` directory on
+both your virtual and local machine.
+
+### Shutdown the Virtual Machine
+
+    $ vagrant suspend  # pause the vm and save its state
+    $ vagrant halt     # shutdown the vm
+    $ vagrant destroy  # delete the vm
+
+## Generating Documentation Locally
 
 ### Install
 

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e1030bb9/Vagrantfile
----------------------------------------------------------------------
diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644
index 0000000..90873c9
--- /dev/null
+++ b/Vagrantfile
@@ -0,0 +1,125 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  # All Vagrant configuration is done here. The most common configuration
+  # options are documented and commented below. For a complete reference,
+  # please see the online documentation at vagrantup.com.
+
+  # Every Vagrant virtual environment requires a box to build off of.
+  config.vm.box = "hashicorp/precise32"
+
+  # Provision for cordova-docs generator
+  config.vm.provision :shell, path: "vagrant/cordova-docs.sh"
+
+  # Disable automatic box update checking. If you disable this, then
+  # boxes will only be checked for updates when the user runs
+  # `vagrant box outdated`. This is not recommended.
+  # config.vm.box_check_update = false
+
+  # Create a forwarded port mapping which allows access to a specific port
+  # within the machine from a port on the host machine. In the example below,
+  # accessing "localhost:8080" will access port 80 on the guest machine.
+  # config.vm.network "forwarded_port", guest: 80, host: 8080
+
+  # Create a private network, which allows host-only access to the machine
+  # using a specific IP.
+  # config.vm.network "private_network", ip: "192.168.33.10"
+
+  # Create a public network, which generally matched to bridged network.
+  # Bridged networks make the machine appear as another physical device on
+  # your network.
+  # config.vm.network "public_network"
+
+  # If true, then any SSH connections made will enable agent forwarding.
+  # Default value: false
+  # config.ssh.forward_agent = true
+
+  # Share an additional folder to the guest VM. The first argument is
+  # the path on the host to the actual folder. The second argument is
+  # the path on the guest to mount the folder. And the optional third
+  # argument is a set of non-required options.
+  # config.vm.synced_folder "../data", "/vagrant_data"
+
+  # Provider-specific configuration so you can fine-tune various
+  # backing providers for Vagrant. These expose provider-specific options.
+  # Example for VirtualBox:
+  #
+  # config.vm.provider "virtualbox" do |vb|
+  #   # Don't boot with headless mode
+  #   vb.gui = true
+  #
+  #   # Use VBoxManage to customize the VM. For example to change memory:
+  #   vb.customize ["modifyvm", :id, "--memory", "1024"]
+  # end
+  #
+  # View the documentation for the provider you're using for more
+  # information on available options.
+
+  # Enable provisioning with CFEngine. CFEngine Community packages are
+  # automatically installed. For example, configure the host as a
+  # policy server and optionally a policy file to run:
+  #
+  # config.vm.provision "cfengine" do |cf|
+  #   cf.am_policy_hub = true
+  #   # cf.run_file = "motd.cf"
+  # end
+  #
+  # You can also configure and bootstrap a client to an existing
+  # policy server:
+  #
+  # config.vm.provision "cfengine" do |cf|
+  #   cf.policy_server_address = "10.0.2.15"
+  # end
+
+  # Enable provisioning with Puppet stand alone.  Puppet manifests
+  # are contained in a directory path relative to this Vagrantfile.
+  # You will need to create the manifests directory and a manifest in
+  # the file default.pp in the manifests_path directory.
+  #
+  # config.vm.provision "puppet" do |puppet|
+  #   puppet.manifests_path = "manifests"
+  #   puppet.manifest_file  = "site.pp"
+  # end
+
+  # Enable provisioning with chef solo, specifying a cookbooks path, roles
+  # path, and data_bags path (all relative to this Vagrantfile), and adding
+  # some recipes and/or roles.
+  #
+  # config.vm.provision "chef_solo" do |chef|
+  #   chef.cookbooks_path = "../my-recipes/cookbooks"
+  #   chef.roles_path = "../my-recipes/roles"
+  #   chef.data_bags_path = "../my-recipes/data_bags"
+  #   chef.add_recipe "mysql"
+  #   chef.add_role "web"
+  #
+  #   # You may also specify custom JSON attributes:
+  #   chef.json = { mysql_password: "foo" }
+  # end
+
+  # Enable provisioning with chef server, specifying the chef server URL,
+  # and the path to the validation key (relative to this Vagrantfile).
+  #
+  # The Opscode Platform uses HTTPS. Substitute your organization for
+  # ORGNAME in the URL and validation key.
+  #
+  # If you have your own Chef Server, use the appropriate URL, which may be
+  # HTTP instead of HTTPS depending on your configuration. Also change the
+  # validation key to validation.pem.
+  #
+  # config.vm.provision "chef_client" do |chef|
+  #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
+  #   chef.validation_key_path = "ORGNAME-validator.pem"
+  # end
+  #
+  # If you're using the Opscode platform, your validator client is
+  # ORGNAME-validator, replacing ORGNAME with your organization name.
+  #
+  # If you have your own Chef Server, the default validation client name is
+  # chef-validator, unless you changed the configuration.
+  #
+  #   chef.validation_client_name = "ORGNAME-validator"
+end

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e1030bb9/lib/cordova/version_menu.rb
----------------------------------------------------------------------
diff --git a/lib/cordova/version_menu.rb b/lib/cordova/version_menu.rb
index 1aa315b..3c6f613 100644
--- a/lib/cordova/version_menu.rb
+++ b/lib/cordova/version_menu.rb
@@ -42,12 +42,13 @@ class VersionMenu
   def generate_set doc
     optgroup_set = Nokogiri::XML::NodeSet.new doc
     docs_path    = File.expand_path File.join(__FILE__, '..', '..', '..', 'docs')
+    glob_exp     = File.join(docs_path, '*', '*', 'config.json')
     versions     = {}
     languages    = {}
     html         = []
 
     # build hash of languages and versions
-    Dir.glob(File.join docs_path, '**', 'config.json').each do |file|
+    Dir.glob(glob_exp).each do |file|
       version  = File.basename(File.dirname file)
       lang     = File.basename(File.dirname(File.dirname file))
       language = JSON.parse(IO.read(file))['language']

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e1030bb9/vagrant/cordova-docs.sh
----------------------------------------------------------------------
diff --git a/vagrant/cordova-docs.sh b/vagrant/cordova-docs.sh
new file mode 100644
index 0000000..87260e7
--- /dev/null
+++ b/vagrant/cordova-docs.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+
+# update system
+apt-get update
+
+# install curl
+apt-get install -y curl
+
+# install joDoc
+curl -sSL https://github.com/davebalmer/joDoc/archive/master.tar.gz | tar xvz
+mv joDoc-master joDoc
+echo "export PATH=$PATH:~/joDoc/" >> /home/vagrant/.bashrc
+source /home/vagrant/.bashrc
+
+# install markdown
+apt-get install -y markdown
+
+## install rvm and ruby 1.8.7
+curl -sSL https://get.rvm.io | bash -s stable
+source /etc/profile.d/rvm.sh
+rvm install ruby-1.8.7-p374
+rvm use ruby-1.8.7-p374
+gem install bundler
+
+# install nokogiri dependencies
+apt-get install -y libxslt-dev libxml2-dev
+
+# setup project
+cd /vagrant
+bundle install


Mime
View raw message