falkorlib 0.7.0 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7404b7fd3411800081fd155935da665979a7a493
4
- data.tar.gz: 7787857ad80882180f9558299b2ff012c48ac202
3
+ metadata.gz: 8c3236e419d1298b136ca095a3281e55bbd95c24
4
+ data.tar.gz: 738b0c020f67cb4fe942c0d8f0b20152e08093d6
5
5
  SHA512:
6
- metadata.gz: 983ed35dfc02c2dfc7edce8e7b55e732753a77362aec3fe0da1ba4be47138d94c16b4296410af8a4c0254a4b8b9f602dd90eed5bc38e318643ff02b61d976077
7
- data.tar.gz: 22619f68a31bc6c3ec9fdb49152b0b464e5d2590917284a8edb731c534a855d126c3f300ad1187d0319e2906b7b64375fb4320284c4bbfc572681c0dd30d1ac2
6
+ metadata.gz: 2ee4c52e5143aa60d36db2485f648232c7fce15103143f8b24fd375257ad177457677df4a8aea5497f6d9fab325cd98afe0ad24812ca46ee510f6205b6f7127c
7
+ data.tar.gz: 425cb5392539fef2b19386b2c59436495731719d879f1643e9cc1c940e12dc987597a2a75d2f70957613d2ea7051830bef2fb4ecfd36f6cbe803b418368c0f8c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- falkorlib (0.7.0)
4
+ falkorlib (0.7.2)
5
5
  activesupport (~> 4.0)
6
6
  artii (>= 2.1)
7
7
  awesome_print (~> 1.2)
data/completion/_falkor CHANGED
@@ -1,7 +1,7 @@
1
1
  #compdef falkor
2
2
  ########################################################################################
3
3
  # -*- mode:sh; -*-
4
- # Time-stamp: <Mon 2016-11-14 15:24 svarrette>
4
+ # Time-stamp: <Sun 2017-01-15 23:15 svarrette>
5
5
  #
6
6
  # ZSH completion for [FalkorLib](https://github.com/Falkor/falkorlib)
7
7
  #
@@ -43,6 +43,7 @@ _falkor()
43
43
  'init:Bootstrap a Git Repository the falkor way'
44
44
  'link:Initialize a special symlink (.root, .makefile.d etc.)'
45
45
  'motd:bootstrap a Message of the Day (motd) file'
46
+ 'mkdocs:Initialize mkdocs for the current project'
46
47
  'new:Initialize the directory PATH with one of Falkors template(s)'
47
48
  'version:Prints the FalkorLib version information'
48
49
  )
@@ -71,11 +72,13 @@ _falkor()
71
72
  (config)
72
73
  __falkor_config && ret=0 ;;
73
74
  (init)
74
- __falkor_init && ret=0 ;;
75
+ __falkor_init && ret=0 ;;
75
76
  (link)
76
77
  __falkor_link && ret=0 ;;
78
+ (mkdocs)
79
+ __falkor_mkdocs && ret=0 ;;
77
80
  (motd)
78
- __falkor_motd && ret=0 ;;
81
+ __falkor_motd && ret=0 ;;
79
82
  (new)
80
83
  __falkor_new && ret=0 ;;
81
84
  (version|*)
@@ -228,6 +231,17 @@ __falkor_init() {
228
231
  }
229
232
 
230
233
 
234
+ ##################
235
+ __falkor_mkdocs() {
236
+ local curcontext=$curcontext state line ret=1
237
+ declare -A opt_args
238
+
239
+ _arguments -C \
240
+ {--force,-f}'[Force generation]'
241
+ '*:directory:_files -/'
242
+ }
243
+
244
+
231
245
  ##################
232
246
  __falkor_motd() {
233
247
  local curcontext=$curcontext state line ret=1
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  ################################################################################
3
- # Time-stamp: <Sat 2016-11-12 09:21 svarrette>
3
+ # Time-stamp: <Sun 2017-01-15 22:52 svarrette>
4
4
  ################################################################################
5
5
  # Interface for the main Bootstrapping operations
6
6
  #
@@ -177,7 +177,7 @@ module FalkorLib
177
177
  puts " ... not overwriting the #{file} file which already exists"
178
178
  else
179
179
  FalkorLib::Versioning.set_version(version, path, :type => 'file',
180
- :source => { :filename => file })
180
+ :source => { :filename => file })
181
181
  Dir.chdir( path ) do
182
182
  run %( git tag #{options[:tag]} ) if options[:tag]
183
183
  end
@@ -298,7 +298,7 @@ module FalkorLib
298
298
  #next unless [ :name, :summary, :description ].include?(k.to_sym)
299
299
  default_answer = case k
300
300
  when :author
301
- (config[:by] == 'ULHPC') ? 'UL HPC Management Team' : config[:author]
301
+ (config[:by] == 'ULHPC') ? 'UL HPC Team' : config[:author]
302
302
  when :mail
303
303
  (config[:by] == 'ULHPC') ? 'hpc-sysadmins@uni.lu' : config[:mail]
304
304
  when :description
@@ -383,6 +383,54 @@ module FalkorLib
383
383
  #licence
384
384
  end # select_licence
385
385
 
386
+ ###### guess_project_config ######
387
+ # Guess the project configuration
388
+ ##
389
+ def guess_project_config(dir = Dir.pwd, options = {})
390
+ path = normalized_path(dir)
391
+ use_git = FalkorLib::Git.init?(path)
392
+ rootdir = (use_git) ? FalkorLib::Git.rootdir(path) : path
393
+ local_config = FalkorLib::Config.get(rootdir, :local)
394
+ return local_config[:project] if local_config[:project]
395
+ # Otherwise, guess the rest of the configuration
396
+ config = FalkorLib::Config::Bootstrap::DEFAULTS[:metadata].clone
397
+ # Apply options (if provided)
398
+ [ :name, :forge ].each do |k|
399
+ config[k.to_sym] = options[k.to_sym] if options[k.to_sym]
400
+ end
401
+ config[:name] = ask("\tProject name: ", get_project_name(dir)) if config[:name].empty?
402
+ if (use_git)
403
+ config[:origin] = FalkorLib::Git.config('remote.origin.url')
404
+ if config[:origin] =~ /((gforge|gitlab|github)[\.\w_-]+)[:\d\/]+(\w*)/
405
+ config[:forge] = Regexp.last_match(2).to_sym
406
+ config[:by] = Regexp.last_match(3)
407
+ elsif config[:forge].empty?
408
+ config[:forge] = select_forge(config[:forge]).to_sym
409
+ end
410
+ end
411
+ forges = FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ]
412
+ default_source = case config[:forge]
413
+ when :gforge
414
+ 'https://' + forges[:url] + "/projects/" + config[:name].downcase
415
+ when :github, :gitlab
416
+ 'https://' + forges[:url] + "/" + config[:by] + "/" + config[:name].downcase
417
+ else
418
+ ""
419
+ end
420
+ config[:source] = config[:project_page] = default_source
421
+ config[:issues_url] = "#{config[:project_page]}/issues"
422
+ config[:license] = select_licence if config[:license].empty?
423
+ [ :summary ].each do |k|
424
+ config[k.to_sym] = ask( "\t" + Kernel.format("Project %-20s", k.to_s))
425
+ end
426
+ config[:description] = config[:summary]
427
+ config[:gitflow] = FalkorLib::GitFlow.guess_gitflow_config(rootdir)
428
+ config[:make] = File.exists?(File.join(rootdir, 'Makefile'))
429
+ config[:rake] = File.exists?(File.join(rootdir, 'Rakefile'))
430
+ config
431
+ end # guess_project_config
432
+
433
+
386
434
  ###### get_badge ######
387
435
  # Return a Markdown-formatted string for a badge to display, typically in a README.
388
436
  # Based on http://shields.io/
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  ################################################################################
3
- # Time-stamp: <Sat 2016-11-12 12:18 svarrette>
3
+ # Time-stamp: <Sun 2017-01-15 22:57 svarrette>
4
4
  ################################################################################
5
5
  # Interface for the main Bootstrapping operations
6
6
  #
@@ -0,0 +1,50 @@
1
+ # -*- encoding: utf-8 -*-
2
+ ################################################################################
3
+ # Time-stamp: <Sun 2017-01-15 23:22 svarrette>
4
+ ################################################################################
5
+ # Interface for the main Bootstrapping operations
6
+ #
7
+
8
+ require "falkorlib"
9
+ require "falkorlib/common"
10
+ require "falkorlib/bootstrap"
11
+
12
+ require 'erb' # required for module generation
13
+ require 'artii'
14
+ require 'facter'
15
+
16
+ include FalkorLib::Common
17
+
18
+ module FalkorLib
19
+ module Bootstrap #:nodoc:
20
+
21
+ module_function
22
+
23
+ ###### mkdocs ######
24
+ # Initialize MkDocs in the current directory
25
+ # Supported options:
26
+ # * :force [boolean] force overwritting
27
+ ##
28
+ def mkdocs(dir = Dir.pwd, options = {})
29
+ info "Initialize MkDocs (see http://www.mkdocs.org/)"
30
+ path = normalized_path(dir)
31
+ use_git = FalkorLib::Git.init?(path)
32
+ rootdir = (use_git) ? FalkorLib::Git.rootdir(path) : path
33
+ templatedir = File.join( FalkorLib.templates, 'mkdocs')
34
+ config = guess_project_config(rootdir, options)
35
+ config[:sitename] = ask("\tSite name: ", config[:name].capitalize)
36
+ puts config.to_yaml
37
+ #FalkorLib::GitFlow.start('feature', 'mkdocs', rootdir) if (use_git && FalkorLib::GitFlow.init?(rootdir))
38
+ init_from_template(templatedir, rootdir, config,
39
+ :no_interaction => true,
40
+ :no_commit => true)
41
+ Dir.chdir( File.join(rootdir, 'docs')) do
42
+ run %(ln -s README.md index.md )
43
+ run %(ln -s README.md contributing/index.md )
44
+ run %(ln -s README.md setup/index.md )
45
+ end
46
+ #exit_status.to_i
47
+ end # mkdocs
48
+
49
+ end # module Bootstrap
50
+ end # module FalkorLib
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  ################################################################################
3
- # Time-stamp: <Tue 2016-11-01 10:05 svarrette>
3
+ # Time-stamp: <Sun 2017-01-15 16:25 svarrette>
4
4
  ################################################################################
5
5
  # Management of Bootstrapping operations
6
6
 
@@ -15,5 +15,6 @@ require "falkorlib/bootstrap/link"
15
15
  require "falkorlib/bootstrap/ruby"
16
16
  require "falkorlib/bootstrap/git"
17
17
  require "falkorlib/bootstrap/latex"
18
+ require "falkorlib/bootstrap/mkdocs"
18
19
 
19
20
  #require "falkorlib/bootstrap/repo"
data/lib/falkorlib/cli.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  ################################################################################
3
- # Time-stamp: <Mon 2016-11-07 22:42 svarrette>
3
+ # Time-stamp: <Sun 2017-01-15 23:13 svarrette>
4
4
  ################################################################################
5
5
  # Interface for the CLI
6
6
  #
@@ -110,6 +110,16 @@ By default, <PATH> is '.' meaning that the repository will be initialized in the
110
110
  desc "link <TYPE> [<path>]", "Initialize a special symlink in <path> (the current directory by default)"
111
111
  subcommand "link", FalkorLib::CLI::Link
112
112
 
113
+ ###### mkdocs ######
114
+ method_option :force, :aliases => '-f', :default => false, :type => :boolean,
115
+ :desc => "Force generation (might overwrite files)"
116
+ #......................................
117
+ desc "mkdocs [options]", "Initialize mkdocs for the current project"
118
+ def mkdocs(path = '.')
119
+ FalkorLib::Bootstrap.mkdocs(path, options)
120
+ end # mkdocs
121
+
122
+
113
123
 
114
124
  ###### motd ######
115
125
  method_option :file, :aliases => '-f', :default => '/etc/motd',
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  ################################################################################
3
- # Time-stamp: <Fri 2016-11-11 16:15 svarrette>
3
+ # Time-stamp: <Sun 2017-01-15 22:54 svarrette>
4
4
  ################################################################################
5
5
  # Management of Git Flow operations
6
6
 
@@ -185,6 +185,26 @@ module FalkorLib
185
185
  #confs[type.to_sym]
186
186
  end # master_branch
187
187
 
188
+ ###### guess_gitflow_config ######
189
+ # Guess the gitflow configuration
190
+ ##
191
+ def guess_gitflow_config(dir = Dir.pwd, options = {})
192
+ path = normalized_path(dir)
193
+ use_git = FalkorLib::Git.init?(path)
194
+ return {} if (!use_git or !FalkorLib::GitFlow.init?(path))
195
+ rootdir = FalkorLib::Git.rootdir(path)
196
+ local_config = FalkorLib::Config.get(rootdir, :local)
197
+ return local_config[:gitflow] if local_config[:gitflow]
198
+ config = FalkorLib::Config::GitFlow::DEFAULTS.clone
199
+ [ :master, :develop ].each do |br|
200
+ config[:branches][br.to_sym] = FalkorLib::Git.config("gitflow.branch.#{br}", rootdir)
201
+ end
202
+ [ :feature, :release, :hotfix, :support, :versiontag ].each do |p|
203
+ config[:prefix][p.to_sym] = FalkorLib::Git.config("gitflow.prefix.#{p}", rootdir)
204
+ end
205
+ config
206
+ end # guess_gitflow_config
207
+
188
208
 
189
209
  end # module FalkorLib::GitFlow
190
210
 
@@ -19,7 +19,7 @@ module FalkorLib #:nodoc:
19
19
  # MAJOR: Defines the major version
20
20
  # MINOR: Defines the minor version
21
21
  # PATCH: Defines the patch version
22
- MAJOR, MINOR, PATCH = 0, 7, 0
22
+ MAJOR, MINOR, PATCH = 0, 7, 2
23
23
 
24
24
  module_function
25
25
 
@@ -0,0 +1,24 @@
1
+ -*- mode: markdown; mode: visual-line; fill-column: 80 -*-
2
+
3
+ <% unless (config[:license].empty? or config[:license] == "none") %>
4
+ [![Licence](<%= FalkorLib::Bootstrap::get_badge("license", config[:license], 'blue') %>)](<%= FalkorLib::Config::Bootstrap::DEFAULTS[:licenses][ config[:license] ][:url] %>)
5
+ <% end %>
6
+ ![By <%= config[:by] %>](https://img.shields.io/badge/by-<%= config[:by] %>-blue.svg) [![<%= config[:forge] %>](https://img.shields.io/badge/git-<%= config[:forge] %>-lightgray.svg)](<%= config[:source] %>) [![Issues](https://img.shields.io/badge/issues-<%= config[:forge] %>-green.svg)](<%= config[:issues_url] %>)
7
+
8
+ Time-stamp: <Sun 2017-01-15 16:58 svarrette>
9
+
10
+ <%= ::Artii::Base.new().asciify( config[:name] ).split("\n").join("\n ") %>
11
+ Copyright (c) <%= Time.now.year %> <%= config[:author] %> <<%= config[:mail] %>>
12
+
13
+ <%= config[:description] %>
14
+
15
+
16
+ This is the main page of the documentation for this repository, which relies on [MkDocs](http://www.mkdocs.org/) and the [Read the Docs](http://readthedocs.io) theme. It proposes to detail the following elements:
17
+
18
+ * The [organization and directory layout](layout.md)
19
+ * Complete [Installation](setup/index.md) notes, including:
20
+ - [Pre-requisites / Preliminary software](setup/preliminaries.md) to install
21
+ * How to [contribute](contributing/index.md) to the development of this project. In particular, we detail:
22
+ - the steps to follow to [setup this repository](contributing/setup.md)
23
+ - information as regard the [semantic versioning](contributing/versioning.md) of this project
24
+ - Apart form the directory layout, we will cover various configuration aspects (mainly the [git-flow](https://github.com/nvie/gitflow) workflow)
@@ -0,0 +1,18 @@
1
+ <% unless (config[:license].empty? or config[:license] == "none") %>
2
+ This project is released under the terms of the [<%= config[:license] %>](LICENSE) licence.
3
+
4
+ [![Licence](<%= FalkorLib::Config::Bootstrap::DEFAULTS[:licenses][ config[:license] ][:logo] %>)](<%= FalkorLib::Config::Bootstrap::DEFAULTS[:licenses][ config[:license] ][:url] %>)
5
+ <% end %>
6
+ You are more than welcome to contribute to the development of this project as follows (assuming you belong to the project on <%= config[:forge].capitalize %>):
7
+
8
+ 1. Create your own feature branch, eventually prefixed with your login on <%= config[:forge].capitalize %>:
9
+
10
+ $> git checkout -b mylogin/my-new-feature # ADAPT mylogin accordingly
11
+
12
+ 2. Commit your changes (`git commit -am 'Added some feature'`)
13
+ 3. Push to the branch (`git push origin mylogin/my-new-feature`)
14
+ 4. Create a new [Merge Request](https://gitlab.uni.lu/help/user/project/merge_requests.md) to submit your changes to me.
15
+
16
+ This assumes that you have understood the [directory tree structure](../layout.md) of this repository.
17
+
18
+ Finally, you shall be aware of the way the [semantic versioning](versioning.md) procedure of this project is handled.
@@ -0,0 +1,26 @@
1
+ There is a number of pre-requisite programs / framework you shall install to be able to correctly contribute to this project.
2
+
3
+ <% if config[:gitflow] %>
4
+ __Git Branching Model__
5
+
6
+ The Git branching model for this repository follows the guidelines of
7
+ [gitflow](http://nvie.com/posts/a-successful-git-branching-model/) (see also [this description](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)).
8
+ In particular, the central repository holds two main branches with an infinite lifetime:
9
+
10
+ * `<%= config[:gitflow][:branches][:master] %>`: the *production-ready* branch
11
+ * `<%= config[:gitflow][:branches][:develop] %>`: the main branch where the latest developments interviene. This is the *default* branch you get when you clone the repository.
12
+
13
+ Thus you are more than encouraged to install the [git-flow](https://github.com/nvie/gitflow) extensions following the [installation procedures](https://github.com/nvie/gitflow/wiki/Installation) to take full advantage of the proposed operations. The associated [bash completion](https://github.com/bobthecow/git-flow-completion) might interest you also.
14
+ <% end %>
15
+
16
+ __Repository Setup__
17
+
18
+ As mentioned in the [installation notes](../setup/install.md), to make your local copy of the repository ready to use the [git-flow](https://github.com/nvie/gitflow) workflow
19
+
20
+ <% if config[:make] %>
21
+ $> make setup
22
+ <% else %>
23
+ $> rake setup
24
+ <% end %>
25
+
26
+ This will also initiate the [Git submodules of this repository](.gitmodules) for this repository.
@@ -0,0 +1,30 @@
1
+ The operation consisting of releasing a new version of this repository is automated by a set of tasks within the root `<%= options[:rake] ? 'R' : 'M' %>akefile`.
2
+ In this context, a version number have the following format:
3
+
4
+ <major>.<minor>.<patch>[-b<build>]
5
+
6
+ where:
7
+
8
+ * `< major >` corresponds to the major version number
9
+ * `< minor >` corresponds to the minor version number
10
+ * `< patch >` corresponds to the patching version number
11
+ * (eventually) `< build >` states the build number _i.e._ the total number of commits within the `<%= FalkorLib::GitFlow.branches(:develop) %>` branch.
12
+
13
+ Example: \`1.0.0-b28\`
14
+
15
+ The current version number is stored in the root file `VERSION`. __/!\ NEVER MAKE ANY MANUAL CHANGES TO THIS FILE__
16
+
17
+ For more information on the version, run:
18
+
19
+ $> <%= options[:make] ? 'make versioninfo' : 'rake version:info' %>
20
+
21
+ If a new version number such be bumped, you simply have to run:
22
+
23
+ $> <%= options[:make] ? 'make start_bump_{major,minor,patch}' : 'rake version:bump:{major,minor,patch}' %>
24
+
25
+ This will start the release process for you using `git-flow`.
26
+ Once you have finished to commit your last changes, make the release effective by running:
27
+
28
+ $> <%= options[:make] ? 'make release' : 'rake version:release' %>
29
+
30
+ It will finish the release using `git-flow`, create the appropriate tag in the `<%= FalkorLib::GitFlow.branches(:master) %>` branch and merge all things the way they should be.
@@ -0,0 +1,17 @@
1
+
2
+ This repository is organized as follows:
3
+
4
+ ~~~bash
5
+ .
6
+ ├── LICENSE.txt # Licence of this project
7
+ <% unless options[:rake] %>
8
+ ├── Rakefile # Ruby Rake configuration
9
+ <% else %>
10
+ ├── Makefile # GNU Make configuration
11
+ <% end %>
12
+ ├── README.md # Project README
13
+ ├── VERSION # /!\ DO NOT EDIT. Current repository version
14
+ ├── docs/ # [MkDocs](mkdocs.org) main directory
15
+ ├── mkdocs.yml # [MkDocs](mkdocs.org) configuration
16
+ └── src/ # Source Code
17
+ ~~~
@@ -0,0 +1,6 @@
1
+
2
+ This directory holds the documentation to properly setup the <%= config[:name] %> project on your machine.
3
+ In particular, check the following resources:
4
+
5
+ * [Pre-requisites / Preliminary software](preliminaries.md) to install
6
+ * How to [Clone and Setup](install.md) your local copy of this repository
@@ -0,0 +1,50 @@
1
+
2
+ This repository is hosted on [<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:name] %>](<%= config[:project_page] %>).
3
+
4
+ <% if (config[:forge] == :gitlab) %>
5
+ * Git interactions with this repository (push, pull etc.) are performed over SSH using the port 8022
6
+ <% end %>
7
+ * To clone this repository, proceed as follows (adapt accordingly):
8
+
9
+ $> mkdir -p ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
10
+ $> cd ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
11
+ $> git clone <%= config[:origin] %>
12
+
13
+ <% if config[:type].include?( :rvm ) %>
14
+ Now ensure [RVM](https://rvm.io/) is correctly configured for this repository:
15
+
16
+ $> rvm current
17
+
18
+ Configure the dependencies detailed in the [`Gemfile`](Gemfile) through the [Bundler](http://bundler.io/):
19
+
20
+ $> gem install bundler
21
+ $> bundle install
22
+ $> rake -T # should work ;)
23
+ <% end %>
24
+
25
+ **`/!\ IMPORTANT`**: Once cloned, initiate your local copy of the repository by running:
26
+
27
+ $> cd <%= name.downcase %>
28
+ <% if options[:make] %>
29
+ $> make setup
30
+ <% else %>
31
+ $> rake setup
32
+ <% end %>
33
+
34
+ This will initiate the [Git submodules of this repository](.gitmodules) and setup the [git flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) layout for this repository.
35
+
36
+ Later on, you can upgrade the [Git submodules](.gitmodules) to the latest version by running:
37
+
38
+ <% if options[:make] %>
39
+ $> make upgrade
40
+ <% else %>
41
+ $> rake git:submodules:upgrade
42
+ <% end %>
43
+
44
+ If upon pulling the repository, you end in a state where another collaborator have upgraded the Git submodules for this repository, you'll end in a dirty state (as reported by modifications within the `.submodules/` directory). In that case, just after the pull, you **have to run** the following to ensure consistency with regards the Git submodules:
45
+
46
+ <% if options[:make] %>
47
+ $> make update
48
+ <% else %>
49
+ $> rake git:submodules:update
50
+ <% end %>
@@ -0,0 +1,71 @@
1
+
2
+ This projects relies on several components you need to have installed on your system.
3
+
4
+ * [Git](https://git-scm.com/)
5
+
6
+ The below instructions will help you to install these components, depending on your running platform.
7
+
8
+ _Note_: in the following instructions, terminal commands are prefixed by a virtual prompt `$>`which obviously **does not** belong to the command.
9
+
10
+ ## Pre-requisites
11
+
12
+ * Install the following software, depending on your running platform:
13
+
14
+ | Platform | Software | Description | Usage |
15
+ |----------|-------------------------------------------------------|---------------------------------------|-------------------------|
16
+ | Mac OS | [Homebrew](http://brew.sh/) | The missing package manager for macOS | `brew install ...` |
17
+ | Mac OS | [Brew Cask Plugin](https://caskroom.github.io) | Mac OS Apps install made easy | `brew cask install ...` |
18
+ | Mac OS | [iTerm2](https://www.iterm2.com/) | _(optional)_ enhanced Terminal | |
19
+ | Windows | [Git for Windows](https://git-for-windows.github.io/) | I'm sure you guessed | |
20
+ | Windows | [SourceTree](https://www.sourcetreeapp.com/) | _(optional)_ enhanced git GUI | |
21
+ | Windows | [Virtual Box](https://www.virtualbox.org/) | Free hypervisor provider for Vagrant | |
22
+ | Windows | [Vagrant](https://www.vagrantup.com/downloads.html) | Reproducible environments made easy. | |
23
+
24
+
25
+ * Follow the below custom instructions depending on your running platform
26
+
27
+ ### Mac OS X
28
+
29
+ Now that you have [Homebrew](http://brew.sh/) installed:
30
+
31
+ ~~~bash
32
+ $> brew install git-core git-flow # (newer) Git stuff
33
+ ~~~
34
+
35
+ ### Linux (Debian / Ubuntu)
36
+
37
+ ~~~bash
38
+ $> sudo apt-get update
39
+ $> sudo apt-get install git build-essential
40
+ ~~~
41
+
42
+ Adapt the package names (and package manager) in case you are using another Linux distribution.
43
+
44
+
45
+ ### Windows
46
+
47
+ Follow the instructions provided on this [tutorial](http://rr-tutorials.readthedocs.io/en/latest/setup/#windows).
48
+ In particular, it may be a good idea to rely on [Vagrant](https://www.vagrantup.com/) to run a Linux box.
49
+
50
+
51
+ ## Post-Installations checks
52
+
53
+ (Eventually) Make yourself known to Git
54
+
55
+ ~~~bash
56
+ $> git config –-global user.name "Firstname LastName" # Adapt accordingly
57
+ $> git config –-global user.email "Firstname.LastName@domain.org" # Adapt with your mail
58
+ ~~~
59
+
60
+ Clone the [project repository](<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:name] %><%=config[:project_page] %> from a Terminal (Powershell as `administrator` under windows):
61
+
62
+ ~~~bash
63
+ $> mkdir -p ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
64
+ $> cd ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
65
+ $> git clone <%= config[:origin] %>
66
+ <% if options[:make] %>
67
+ $> make setup # Under Mac OS / Linux
68
+ <% else %>
69
+ $> rake setup # Under Mac OS / Linux
70
+ <% end %>
71
+ ~~~
@@ -0,0 +1,13 @@
1
+ site_name: <%= config[:sitename] %>
2
+ pages:
3
+ - Home: 'index.md'
4
+ - Organization: 'layout.md'
5
+ - Getting Started:
6
+ - Pre-Requisites: 'setup/preliminaries.md'
7
+ - Installation: 'setup/install.md'
8
+ - Contributing:
9
+ - Overview: 'contributing/index.md'
10
+ - Directory Layout: 'layout.md'
11
+ - Repository Setup and Developments: 'contributing/setup.md'
12
+ - Semantic Versioning: 'contributing/versioning.md'
13
+ theme: readthedocs
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: falkorlib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastien Varrette
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-24 00:00:00.000000000 Z
11
+ date: 2017-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -420,6 +420,7 @@ files:
420
420
  - lib/falkorlib/bootstrap/git.rb
421
421
  - lib/falkorlib/bootstrap/latex.rb
422
422
  - lib/falkorlib/bootstrap/link.rb
423
+ - lib/falkorlib/bootstrap/mkdocs.rb
423
424
  - lib/falkorlib/bootstrap/ruby.rb
424
425
  - lib/falkorlib/cli.rb
425
426
  - lib/falkorlib/cli/config.rb
@@ -506,6 +507,15 @@ files:
506
507
  - templates/latex/images/question.jpg
507
508
  - templates/latex/letter/_content.md.erb
508
509
  - templates/latex/letter/main.tex.erb
510
+ - templates/mkdocs/docs/README.md.erb
511
+ - templates/mkdocs/docs/contributing/README.md.erb
512
+ - templates/mkdocs/docs/contributing/setup.md.erb
513
+ - templates/mkdocs/docs/contributing/versioning.md.erb
514
+ - templates/mkdocs/docs/layout.md.erb
515
+ - templates/mkdocs/docs/setup/README.md.erb
516
+ - templates/mkdocs/docs/setup/install.md.erb
517
+ - templates/mkdocs/docs/setup/preliminaries.md.erb
518
+ - templates/mkdocs/mkdocs.yml.erb
509
519
  - templates/motd/motd.erb
510
520
  - templates/puppet/modules/.gitignore
511
521
  - templates/puppet/modules/.pmtignore