falkorlib 0.6.17 → 0.6.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,192 @@
1
+ -*- mode: markdown; mode: visual-line; fill-column: 80 -*-
2
+
3
+ [![Licence](https://img.shields.io/badge/license-MIT-blue.svg)](http://opensource.org/licenses/MIT)
4
+ ![By Falkor](https://img.shields.io/badge/by-Falkor-blue.svg) [![github](https://img.shields.io/badge/git-github-lightgray.svg)](https://github.com/Falkor/sysadmin-warrior) [![Issues](https://img.shields.io/badge/issues-github-green.svg)](https://github.com/Falkor/sysadmin-warrior/issues)
5
+
6
+ Time-stamp: <Mon 2016-02-22 22:04 svarrette>
7
+
8
+ _____ _ _ __ __ _ _______ __ ___
9
+ / ____| /\ | | (_) \ \ / / (_) / / ____| /\ \ / \ \
10
+ | (___ _ _ ___ / \ __| |_ __ ___ _ _ __ \ \ /\ / /_ _ _ __ _ __ _ ___ _ __ | | (___ / \ \ /\ / / | |
11
+ \___ \| | | / __| / /\ \ / _` | '_ ` _ \| | '_ \ \ \/ \/ / _` | '__| '__| |/ _ \| '__| | |\___ \ / /\ \ \/ \/ / | |
12
+ ____) | |_| \__ \/ ____ \ (_| | | | | | | | | | | \ /\ / (_| | | | | | | (_) | | | |____) / ____ \ /\ / | |
13
+ |_____/ \__, |___/_/ \_\__,_|_| |_| |_|_|_| |_| \/ \/ \__,_|_| |_| |_|\___/|_| | |_____/_/ \_\/ \/ | |
14
+ __/ | \_\ /_/
15
+ |___/
16
+ Copyright (c) 2016 Sebastien Varrette <Sebastien.Varrette@uni.lu>
17
+
18
+
19
+ ## Synopsis
20
+
21
+ SysAdmin Warrior (SAW) is a Command Line Interface (CLI) designed to make the life of system administrator easier
22
+
23
+ ## Installation / Repository Setup
24
+
25
+ This repository is hosted on [Github](https://github.com/Falkor/sysadmin-warrior).
26
+
27
+ * To clone this repository, proceed as follows (adapt accordingly):
28
+
29
+ $> mkdir -p ~/git/github.com/Falkor
30
+ $> cd ~/git/github.com/Falkor
31
+ $> git clone https://github.com/Falkor/sysadmin-warrior.git
32
+
33
+ Now ensure [RVM](https://rvm.io/) is correctly configured for this repository:
34
+
35
+ $> rvm current
36
+
37
+ Configure the dependencies detailed in the [`Gemfile`](Gemfile) through the [Bundler](http://bundler.io/):
38
+
39
+ $> gem install bundler
40
+ $> bundle install
41
+ $> rake -T # should work ;)
42
+
43
+ **`/!\ IMPORTANT`**: Once cloned, initiate your local copy of the repository by running:
44
+
45
+ $> cd sysadmin-warrior
46
+ $> rake setup
47
+
48
+ 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.
49
+
50
+ Later on, you can upgrade the [Git submodules](.gitmodules) to the latest version by running:
51
+
52
+ $> rake git:submodules:upgrade
53
+
54
+ 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:
55
+
56
+ $> rake git:submodules:update
57
+
58
+
59
+
60
+
61
+ ## Issues / Feature request
62
+
63
+ You can submit bug / issues / feature request using the [`Falkor/sysadmin-warrior` Project Tracker](https://github.com/Falkor/sysadmin-warrior/issues)
64
+
65
+
66
+
67
+ ## Advanced Topics
68
+
69
+ ### Git
70
+
71
+ This repository make use of [Git](http://git-scm.com/) such that you should have it installed on your working machine:
72
+
73
+ $> apt-get install git-core # On Debian-like systems
74
+ $> yum install git # On CentOS-like systems
75
+ $> brew install git # On Mac OS, using [Homebrew](http://mxcl.github.com/homebrew/)
76
+ $> port install git # On Mac OS, using MacPort
77
+
78
+ Consider these resources to become more familiar (if not yet) with Git:
79
+
80
+ * [Simple Git Guide](http://rogerdudler.github.io/git-guide/)
81
+ * [Git book](http://book.git-scm.com/index.html)
82
+ * [Github:help](http://help.github.com/mac-set-up-git/)
83
+ * [Git reference](http://gitref.org/)
84
+
85
+ At least, you shall configure the following variables
86
+
87
+ $> git config --global user.name "Your Name Comes Here"
88
+ $> git config --global user.email you@yourdomain.example.com
89
+ # configure colors
90
+ $> git config --global color.diff auto
91
+ $> git config --global color.status auto
92
+ $> git config --global color.branch auto
93
+
94
+ Note that you can create git command aliases in `~/.gitconfig` as follows:
95
+
96
+ [alias]
97
+ up = pull origin
98
+ pu = push origin
99
+ st = status
100
+ df = diff
101
+ ci = commit -s
102
+ br = branch
103
+ w = whatchanged --abbrev-commit
104
+ ls = ls-files
105
+ gr = log --graph --oneline --decorate
106
+ amend = commit --amend
107
+
108
+ Consider my personal [`.gitconfig`](https://github.com/Falkor/dotfiles/blob/master/git/.gitconfig) as an example -- if you decide to use it, simply copy it in your home directory and adapt the `[user]` section.
109
+
110
+ ### [Git-flow](https://github.com/nvie/gitflow)
111
+
112
+ The Git branching model for this repository follows the guidelines of
113
+ [gitflow](http://nvie.com/posts/a-successful-git-branching-model/).
114
+ In particular, the central repository holds two main branches with an infinite lifetime:
115
+
116
+ * `production`: the *production-ready* branch
117
+ * `devel`: the main branch where the latest developments interviene. This is the *default* branch you get when you clone the repository.
118
+
119
+ 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.
120
+
121
+ ### Releasing mechanism
122
+
123
+ The operation consisting of releasing a new version of this repository is automated by a set of tasks within the root `Rakefile`.
124
+
125
+ In this context, a version number have the following format:
126
+
127
+ <major>.<minor>.<patch>[-b<build>]
128
+
129
+ where:
130
+
131
+ * `< major >` corresponds to the major version number
132
+ * `< minor >` corresponds to the minor version number
133
+ * `< patch >` corresponds to the patching version number
134
+ * (eventually) `< build >` states the build number _i.e._ the total number of commits within the `devel` branch.
135
+
136
+ Example: \`1.0.0-b28\`
137
+
138
+ The current version number is stored in the root file `VERSION`. __/!\ NEVER MAKE ANY MANUAL CHANGES TO THIS FILE__
139
+
140
+ For more information on the version, run:
141
+
142
+ $> rake version:info
143
+
144
+ If a new version number such be bumped, you simply have to run:
145
+
146
+ $> rake version:bump:{major,minor,patch}
147
+
148
+ This will start the release process for you using `git-flow`.
149
+ Once you have finished to commit your last changes, make the release effective by running:
150
+
151
+ $> rake version:release
152
+
153
+ It will finish the release using `git-flow`, create the appropriate tag in the `production` branch and merge all things the way they should be.
154
+
155
+ ### Ruby stuff: RVM, Rakefile and Ruby gems
156
+
157
+ The various operations that can be conducted from this repository are piloted from a [`Rakefile`](https://github.com/ruby/rake) and assumes you have a running [Ruby](https://www.ruby-lang.org/en/) installation. You'll also need [Ruby Gems](https://rubygems.org/) to facilitate the installation of ruby libraries.
158
+
159
+ $> apt-get install ruby rubygems # On Debian-like systems
160
+
161
+ Install the [rake](https://rubygems.org/gems/rake) gem as follows:
162
+
163
+ $> gem install rake
164
+
165
+ In order to have a consistent environment among the collaborators of this project, [Bundler](http://bundler.io/) is also used. Configuration of [Bundler](http://bundler.io/) is made via the [`Gemfile[.lock]` files](http://bundler.io/v1.3/gemfile.html).
166
+
167
+ Last but not least, I like to work on [Sandboxed environments](https://hpc.uni.lu/blog/2014/create-a-sandboxed-python-slash-ruby-environment/) and a great tool for that is [RVM](https://rvm.io/).
168
+ [RVM](https://rvm.io/) gives you compartmentalized independent ruby setups.
169
+ This means that ruby, gems and irb are all separate and self-contained - from the system, and from each other. Sandboxing with [RVM](https://rvm.io/) is straight-forward via the [notion of gemsets](https://rvm.io/gemsets) and is managed via the `.ruby-{version,gemset}` files.
170
+
171
+ If things are fine, you should be able to access the list of available tasks by running:
172
+
173
+ $> rake -T
174
+
175
+ You probably want to activate the bash-completion for rake tasks.
176
+ I personally use the one provided [here](https://github.com/ai/rake-completion).
177
+
178
+ ## Licence
179
+
180
+ This project is released under the terms of the [MIT](LICENCE) licence.
181
+
182
+ [![Licence](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/License_icon-mit-2.svg/200px-License_icon-mit-2.svg.png)](http://opensource.org/licenses/MIT)
183
+
184
+ ## Contributing
185
+
186
+ That's quite simple:
187
+
188
+ 1. [Fork](https://help.github.com/articles/fork-a-repo/) it
189
+ 2. Create your own feature branch (`git checkout -b my-new-feature`)
190
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
191
+ 4. Push to the branch (`git push origin my-new-feature`)
192
+ 5. Create a new [Pull Request](https://help.github.com/articles/using-pull-requests/)
@@ -0,0 +1,39 @@
1
+ ##############################################################################
2
+ # Rakefile - Configuration file for rake (http://rake.rubyforge.org/)
3
+ # Time-stamp: <Mon 2016-06-27 09:43 svarrette>
4
+ #
5
+ # Copyright (c) 2016 <>
6
+ # ____ _ __ _ _
7
+ # | _ \ __ _| | _____ / _(_) | ___
8
+ # | |_) / _` | |/ / _ \ |_| | |/ _ \
9
+ # | _ < (_| | < __/ _| | | __/
10
+ # |_| \_\__,_|_|\_\___|_| |_|_|\___|
11
+ #
12
+ # Use 'rake -T' to list the available actions
13
+ #
14
+ # Resources:
15
+ # * http://www.stuartellis.eu/articles/rake/
16
+ ##############################################################################
17
+ require 'falkorlib'
18
+
19
+ ## placeholder for custom configuration of FalkorLib.config.*
20
+ ## See https://github.com/Falkor/falkorlib
21
+
22
+ # Adapt the versioning aspects
23
+ FalkorLib.config.versioning do |c|
24
+ c[:type] = 'gem'
25
+ c[:source]['gem'] = {
26
+ :filename => 'lib/sysadmin-warrior/version.rb',
27
+ :getmethod => 'SysAdminWarrior::Version.to_s',
28
+ }
29
+ end
30
+
31
+ # Git flow customization
32
+ FalkorLib.config.gitflow do |c|
33
+ c[:branches] = {
34
+ :master => 'production',
35
+ :develop => 'devel'
36
+ }
37
+ end
38
+
39
+ require 'falkorlib/tasks/git'
@@ -0,0 +1,5 @@
1
+ # -*- encoding: utf-8 -*-
2
+ ################################################################################
3
+ # Time-stamp: <Mon 2016-06-27 10:43 svarrette>
4
+ ################################################################################
5
+ # Place the component you wish to see loaded
@@ -0,0 +1,49 @@
1
+ # -*- encoding: utf-8 -*-
2
+ ################################################################################
3
+ # Time-stamp: <Mon 2016-06-27 10:41 svarrette>
4
+ ################################################################################
5
+ # @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
6
+ #
7
+ # SysAdmin Warrior (SAW) Version management
8
+ #
9
+
10
+ module SysAdminWarrior #:nodoc:
11
+
12
+ # Management of the current version of the library
13
+ module Version
14
+
15
+ # Change the MAJOR, MINOR and PATCH constants below
16
+ # to adjust the version of the FalkorLib gem
17
+ #
18
+ # MAJOR: Defines the major version
19
+ # MINOR: Defines the minor version
20
+ # PATCH: Defines the patch version
21
+ MAJOR, MINOR, PATCH = 0, 0, 1
22
+
23
+ module_function
24
+
25
+ ## Returns the major version ( big release based off of multiple minor releases )
26
+ def major
27
+ MAJOR
28
+ end
29
+
30
+ ## Returns the minor version ( small release based off of multiple patches )
31
+ def minor
32
+ MINOR
33
+ end
34
+
35
+ ## Returns the patch version ( updates, features and (crucial) bug fixes )
36
+ def patch
37
+ PATCH
38
+ end
39
+
40
+ ## @return the full version string
41
+ def to_s
42
+ [ MAJOR, MINOR, PATCH ].join('.')
43
+ end
44
+
45
+ end
46
+
47
+ # Shorter version of the Gem's VERSION
48
+ VERSION = Version.to_s
49
+ end
@@ -0,0 +1,40 @@
1
+ # -*- encoding: utf-8 -*-
2
+ ###########################################################################################
3
+ # Time-stamp: <Mon 2016-06-27 10:37 svarrette>
4
+ ###########################################################################################
5
+ # ____ _ _ _ __ __ _
6
+ # / ___| _ _ ___ / \ __| |_ __ ___ (_)_ __ \ \ / /_ _ _ __ _ __(_) ___ _ __
7
+ # \___ \| | | / __| / _ \ / _` | '_ ` _ \| | '_ \ \ \ /\ / / _` | '__| '__| |/ _ \| '__|
8
+ # ___) | |_| \__ \/ ___ \ (_| | | | | | | | | | | \ V V / (_| | | | | | | (_) | |
9
+ # |____/ \__, |___/_/ \_\__,_|_| |_| |_|_|_| |_| \_/\_/ \__,_|_| |_| |_|\___/|_|
10
+ # |___/
11
+ ##########################################################################################
12
+ # @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
13
+ #
14
+ # * [Source code](https://github.com/Falkor/sysadmin-warrior)
15
+ # * [Official Gem](https://rubygems.org/gems/sysadmin-warrior)
16
+ ##########################################################################################
17
+ require "falkorlib"
18
+
19
+ # Sebastien Varrette aka Falkor's Common library to share Ruby code
20
+ # and `{rake,cap}` tasks
21
+ module SysAdminWarrior
22
+
23
+ # Return the root directory of the gem
24
+ def self.root
25
+ File.expand_path '../..', __FILE__
26
+ end
27
+
28
+ def self.lib
29
+ File.join root, 'lib'
30
+ end
31
+
32
+ def self.templates
33
+ File.join root, 'templates'
34
+ end
35
+
36
+ end # module SysAdminWarrior
37
+
38
+
39
+ require "sysadmin-warrior/version"
40
+ require "sysadmin-warrior/loader"
@@ -0,0 +1,200 @@
1
+ # -*- coding: utf-8 -*-
2
+ # We require your library, mainly to have access to the VERSION number.
3
+ # Feel free to set $version manually.
4
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
5
+ require "sysadmin-warrior/version"
6
+ $version = SysAdminWarrior::Version.to_s
7
+
8
+ #
9
+ # This is your Gem specification. Default values are provided so that your library
10
+ # should be correctly packaged given what you have described in the .noespec file.
11
+ #
12
+ Gem::Specification.new do |s|
13
+
14
+ ################################################################### ABOUT YOUR GEM
15
+
16
+ # Gem name (required)
17
+ s.name = "sysadmin-warrior"
18
+
19
+ # Gem version (required)
20
+ s.version = $version
21
+
22
+ # A short summary of this gem
23
+ #
24
+ # This is displayed in `gem list -d`.
25
+ s.summary = "SysAdmin Warrior (SAW) is a tool designed to make the life of system administrator easier from the command-line. It offers a flexible interface to register and manage IT systems and operations."
26
+
27
+ # A long description of this gem (required)
28
+ #
29
+ # The description should be more detailed than the summary. For example,
30
+ # you might wish to copy the entire README into the description.
31
+ s.description = "SysAdmin Warrior (SAW) is a Free and Open Source Software designed to make the life of system administrator easier from the command-line. It offers a flexible interface to register and manage IT systems and operations."
32
+
33
+ # The URL of this gem home page (optional)
34
+ s.homepage = "https://github.com/Falkor/sysadmin-warrior"
35
+
36
+ # Gem publication date (required but auto)
37
+ #
38
+ # Today is automatically used by default, uncomment only if
39
+ # you know what you do!
40
+ #
41
+ # s.date = Time.now.strftime('%Y-%m-%d')
42
+
43
+ # The license(s) for the library. Each license must be a short name, no
44
+ # more than 64 characters.
45
+ #
46
+ s.licenses = ['MIT']
47
+
48
+ # The rubyforge project this gem lives under (optional)
49
+ #
50
+ # s.rubyforge_project = nil
51
+
52
+ ################################################################### ABOUT THE AUTHORS
53
+
54
+ # The list of author names who wrote this gem.
55
+ #
56
+ # If you are providing multiple authors and multiple emails they should be
57
+ # in the same order.
58
+ #
59
+ s.authors = ["Sebastien Varrette"]
60
+
61
+ # Contact emails for this gem
62
+ #
63
+ # If you are providing multiple authors and multiple emails they should be
64
+ # in the same order.
65
+ #
66
+ # NOTE: Somewhat strangly this attribute is always singular!
67
+ # Don't replace by s.emails = ...
68
+ s.email = ["Sebastien.Varrette@uni.lu"]
69
+
70
+ ################################################################### PATHS, FILES, BINARIES
71
+
72
+ # Paths in the gem to add to $LOAD_PATH when this gem is
73
+ # activated (required).
74
+ #
75
+ # The default 'lib' is typically sufficient.
76
+ s.require_paths = ["lib"]
77
+
78
+ # Files included in this gem.
79
+ #
80
+ # By default, we take all files included in the .Manifest.txt file on root
81
+ # of the project. Entries of the manifest are interpreted as Dir[...]
82
+ # patterns so that lazy people may use wilcards like lib/**/*
83
+ #
84
+ # here = File.expand_path(File.dirname(__FILE__))
85
+ # s.files = File.readlines(File.join(here, '.Manifest.txt')).
86
+ # inject([]){|files, pattern| files + Dir[File.join(here, pattern.strip)]}.
87
+ # collect{|x| x[(1+here.size)..-1]}
88
+
89
+ # Test files included in this gem.
90
+ #
91
+ s.test_files = Dir["test/**/*"] + Dir["spec/**/*"]
92
+
93
+ # Alternative:
94
+ s.files = `git ls-files`.split("\n")
95
+ #s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
96
+ #s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
97
+
98
+ # The path in the gem for executable scripts (optional)
99
+ #
100
+ #s.bindir = "bin"
101
+
102
+ # Executables included in the gem.
103
+ #
104
+ s.executables = (Dir["bin/*"]).collect{|f| File.basename(f)}
105
+
106
+ ################################################################### REQUIREMENTS & INSTALL
107
+ # Remember the gem version requirements operators and schemes:
108
+ # = Equals version
109
+ # != Not equal to version
110
+ # > Greater than version
111
+ # < Less than version
112
+ # >= Greater than or equal to
113
+ # <= Less than or equal to
114
+ # ~> Approximately greater than
115
+ #
116
+ # Don't forget to have a look at http://lmgtfy.com/?q=Ruby+Versioning+Policies
117
+ # for setting your gem version.
118
+ #
119
+ # For your requirements to other gems, remember that
120
+ # ">= 2.2.0" (optimistic: specify minimal version)
121
+ # ">= 2.2.0", "< 3.0" (pessimistic: not greater than the next major)
122
+ # "~> 2.2" (shortcut for ">= 2.2.0", "< 3.0")
123
+ # "~> 2.2.0" (shortcut for ">= 2.2.0", "< 2.3.0")
124
+ #
125
+ #s.add_dependency("rake", ">= 10.1.0")
126
+
127
+ s.add_runtime_dependency('rake', '~> 10.2')
128
+ s.add_runtime_dependency("thor", '~> 0.19')
129
+ s.add_runtime_dependency("falkorlib", '~> 0.6.11')
130
+ #s.add_runtime_dependency("mercenary", '>= 0.3.5')
131
+
132
+ #
133
+ #
134
+ # One call to add_dependency('gem_name', 'gem version requirement') for each
135
+ # runtime dependency. These gems will be installed with your gem.
136
+ # One call to add_development_dependency('gem_name', 'gem version requirement')
137
+ # for each development dependency. These gems are required for developers
138
+ #
139
+ s.add_development_dependency("bundler", '~> 1.12', '>= 1.12.5')
140
+ s.add_development_dependency('rspec', '~> 3.4')
141
+ s.add_development_dependency("pry", '~> 0.10.3')
142
+ s.add_development_dependency("yard", '~> 0.8.7.6', "~> 0.8")
143
+
144
+ # The version of ruby required by this gem
145
+ #
146
+ # Uncomment and set this if your gem requires specific ruby versions.
147
+ #
148
+ # s.required_ruby_version = ">= 0"
149
+
150
+ # The RubyGems version required by this gem
151
+ #
152
+ # s.required_rubygems_version = ">= 0"
153
+
154
+ # The platform this gem runs on. See Gem::Platform for details.
155
+ #
156
+ # s.platform = nil
157
+
158
+ # Extensions to build when installing the gem.
159
+ #
160
+ # Valid types of extensions are extconf.rb files, configure scripts
161
+ # and rakefiles or mkrf_conf files.
162
+ #
163
+ s.extensions = []
164
+
165
+ # External (to RubyGems) requirements that must be met for this gem to work.
166
+ # It’s simply information for the user.
167
+ #
168
+ s.requirements = nil
169
+
170
+ # A message that gets displayed after the gem is installed
171
+ #
172
+ # Uncomment and set this if you want to say something to the user
173
+ # after gem installation
174
+ #
175
+ s.post_install_message = "Thanks for installing SysAdmin Warrior.\n"
176
+
177
+ ################################################################### SECURITY
178
+
179
+ # The key used to sign this gem. See Gem::Security for details.
180
+ #
181
+ #s.signing_key = "0xDD01D5C0"
182
+
183
+ # The certificate chain used to sign this gem. See Gem::Security for
184
+ # details.
185
+ #
186
+ # s.cert_chain = []
187
+
188
+ ################################################################### RDOC
189
+
190
+ # An ARGV style array of options to RDoc
191
+ #
192
+ # See 'rdoc --help' about this
193
+ #
194
+ s.rdoc_options = []
195
+
196
+ # Extra files to add to RDoc such as README
197
+ #
198
+ s.extra_rdoc_files = Dir["README.md"] + Dir["LICENCE.md"]
199
+
200
+ end
@@ -0,0 +1 @@
1
+ .texinfo
@@ -1,4 +1,7 @@
1
- This letter is to motivate my request to apply for ...
1
+
2
+ \noindent
3
+
4
+ The University of Luxembourg (UL) is at a key turning point of its development ...
2
5
 
3
6
  Feel free to use the Markdown format to feed this letter
4
7
 
@@ -20,7 +23,7 @@ This is from [*Mitch Resnick*](https://en.wikipedia.org/wiki/Mitchel_Resnick).
20
23
 
21
24
  [^ted]: \tiny<http://www.ted.com/talks/mitch_resnick_let_s_teach_kids_to_code.html>
22
25
 
23
- etc.
26
+ etc.
24
27
 
25
28
  * item 1
26
29
  * item 2
@@ -35,4 +38,4 @@ The main interest of using markdown is to simplify \LaTeX tables
35
38
  | item 2 | 1 | 1 |
36
39
  | | | |
37
40
 
38
-
41
+ Enjoy your letter
@@ -1,10 +1,10 @@
1
1
  % =============================================================================
2
- % File: <%= config[:name] %>.tex --
2
+ % File: <%= config[:name] %>.tex --
3
3
  % Author(s): <%= config[:author] %> (<%= config[:mail] %>)
4
- % Time-stamp: <Fri 2015-10-09 20:05 svarrette>
5
- %
4
+ % Time-stamp: <Sat 2016-10-15 23:57 svarrette>
5
+ %
6
6
  % Copyright (c) <%= Time.now.year %> <%= config[:author] %><Sebastien.Varrette@uni.lu>
7
- %
7
+ %
8
8
  % For more information:
9
9
  % - LaTeX: http://www.latex-project.org/
10
10
  % - LaTeX symbol list:
@@ -15,6 +15,9 @@
15
15
 
16
16
  \usepackage{_style}
17
17
  \usepackage{microtype} % Improves typography
18
+ \usepackage{longtable}
19
+ \usepackage{booktabs}
20
+ \usepackage{fontawesome}
18
21
 
19
22
  \graphicspath{{images/}} % Add this directory to the searched paths for graphics
20
23
 
@@ -46,9 +49,14 @@
46
49
  \def\Where{<%= config[:department] %> (<%= config[:department_acro] %>)} % Your department/institution
47
50
  \def\Address{<%= config[:address] %>} % Your address
48
51
  \def\CityZip{<%= config[:zipcode] %>, <%= config[:location] %>} % Your city, zip code, country, etc
49
- \def\Email{E-mail: \href{mailto:<%= config[:mail] %>}{<%= config[:mail] %>}} % Your email address
50
- \def\TEL{Phone: <%= config[:phone] %>} % Your phone number
51
- \def\URL{} %URL: http://csc.uni.lu/sebastien.varrette} % Your URL
52
+ \def\Email{\faEnvelopeO\ \texttt{\href{mailto:<%= config[:mail] %>}{<%= config[:mail] %>}}} % Your email address
53
+ \def\TEL{\faPhone\ <%= config[:phone] %>} % Your phone number
54
+ \def\URL{\faGlobe\ <%= config[:url] %>} % Your url
55
+
56
+ \def\LinkedIN{\href{https://www.linkedin.com/in/<%= config[:linkedin] %>}{\faLinkedin}}
57
+ \def\Twitter{\href{https://twitter.com/<%= config[:twitter] %>}{\faTwitter}}
58
+ \def\GoogleScholar{\href{https://scholar.google.com/citations?user=<%= config[:scholar] %>&hl=en}{\faGraduationCap}}
59
+ \def\Skype{\href{skype:<%= config[:skype] %>?chat}{\faSkype}}
52
60
 
53
61
  % ----------------------------------------------------------------------------------------
54
62
  % HEADER AND FROM ADDRESS STRUCTURE
@@ -60,22 +68,22 @@
60
68
  \vskip -1.07in~\\ % Position of the text in relation to the institution logo, increase to move down, decrease to move up
61
69
  \Large\hspace{1.5in}\hfill ~\\[0.05in] % First line of institution name, adjust hspace if your logo is wide
62
70
  \hspace{1.5in}\hfill \normalsize % Second line of institution name, adjust hspace if your logo is wide
63
- \makebox[0ex][r]{\bf \Who \What }\hspace{0.08in} % Print your name and title with a little whitespace to the right
71
+ \makebox[0ex][r]{\bf \Who, \What }\hspace{0.08in} % Print your name and title with a little whitespace to the right
64
72
  ~\\[-0.11in] % Reduce the whitespace above the horizontal rule
65
73
  \hspace{1.5in}\vhrulefill{1pt} \\ % Horizontal rule, adjust hspace if your logo is wide and \vhrulefill for the thickness of the rule
66
- \hspace{\fill}\parbox[t]{3.85in}{ % Create a box for your details underneath the horizontal rule on the right
74
+ \hspace{\fill}\parbox[t]{4.35in}{ % Create a box for your details underneath the horizontal rule on the right
67
75
  \footnotesize % Use a smaller font size for the details
68
76
  %\Who \\ \em % Your name, all text after this will be italicized
69
77
  \Where\\ % Your department
70
78
  \Address\\ % Your address
71
79
  \CityZip\\ % Your city and zip code
72
- \TEL\\ % Your phone number
73
- \Email\\[2em] % Your email address
74
- %\URL % Your URL
80
+ \TEL\hspace{8em}\LinkedIN\ \ \Twitter\ \ \Skype\ \ \GoogleScholar \\ % Your phone number
81
+ \Email\\% Your email address
82
+ \URL\\[2em] % Your URL
75
83
  \Location, \today
76
84
  }
77
85
  \hspace{-1.4in} % Horizontal position of this block, increase to move left, decrease to move right
78
- \vspace{-1in} % Move the letter content up for a more compact look
86
+ \vspace{-0.5in} % Move the letter content up for a more compact look
79
87
  }
80
88
 
81
89
  % ----------------------------------------------------------------------------------------
@@ -101,7 +109,7 @@
101
109
  % SIGNATURE STRUCTURE
102
110
  % ----------------------------------------------------------------------------------------
103
111
 
104
- \signature{\Who \What} % The signature is a combination of your name and title
112
+ \signature{\Who, \What} % The signature is a combination of your name and title
105
113
 
106
114
  \long\def\closing#1{
107
115
  \vspace{0.1in} % Some whitespace after the letter content and before the signature
@@ -145,7 +153,7 @@
145
153
 
146
154
  % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
147
155
  % eof
148
- %
156
+ %
149
157
  % Local Variables:
150
158
  % mode: latex
151
159
  % mode: flyspell