falkorlib 0.6.17 → 0.6.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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