falkorlib 0.6.2 → 0.6.3
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/falkorlib/bootstrap/base.rb +78 -20
- data/lib/falkorlib/cli/link.rb +15 -1
- data/lib/falkorlib/cli/new.rb +13 -1
- data/lib/falkorlib/git/base.rb +1 -1
- data/lib/falkorlib/version.rb +1 -1
- data/templates/README/header_readme.erb +22 -9
- data/templates/README/readme_git.erb +6 -4
- data/templates/README/readme_gitflow.erb +1 -1
- data/templates/latex/letter/_content.md.erb +38 -0
- data/templates/latex/letter/main.tex.erb +154 -0
- metadata +4 -3
- data/templates/latex/beamer/.texinfo/main.tex.el +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9e0eb5fd65a5039b1923814b0b4597880ee8b20
|
4
|
+
data.tar.gz: 87597d8eaae0504c3184a10fbdc4a2d614f5480c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 184338250d748f654598b7e403bc92bab50d2355371152cff4cea403ac0ac1408e88a60a7841391a8e7c40479a85f0d9c1c2234472c4630d4154b2c58d50efae
|
7
|
+
data.tar.gz: c6125c2a0e552aa040ca1286828501e1859ac365986ce063ea6783b8bb8fbad62e2432681a71b87a916cabb98c58f09d9b1fd5887f68a2581c6556afb49327c7
|
data/Gemfile.lock
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
################################################################################
|
3
|
-
# Time-stamp: <
|
3
|
+
# Time-stamp: <Tue 2016-02-02 23:39 svarrette>
|
4
4
|
################################################################################
|
5
5
|
# Interface for the main Bootstrapping operations
|
6
6
|
#
|
@@ -35,9 +35,20 @@ module FalkorLib #:nodoc:
|
|
35
35
|
:image => 'images/logo_ULHPC.pdf',
|
36
36
|
:logo => 'images/logo_UL.pdf'
|
37
37
|
},
|
38
|
+
:letter => {
|
39
|
+
:author_title => 'PhD',
|
40
|
+
:institute => 'University of Luxembourg',
|
41
|
+
:department => 'Parallel Computing and Optimization Group',
|
42
|
+
:department_acro => 'PCOG',
|
43
|
+
:address => '7, rue Richard Coudenhove-Kalergie',
|
44
|
+
:zipcode => 'L-1359',
|
45
|
+
:location => 'Luxembourg',
|
46
|
+
:phone => '(+352) 46 66 44 6600',
|
47
|
+
},
|
38
48
|
:metadata => {
|
39
49
|
:name => '',
|
40
50
|
:type => [],
|
51
|
+
:by => "#{ENV['USER']}",
|
41
52
|
:author => "#{ENV['GIT_AUTHOR_NAME']}",
|
42
53
|
:mail => "#{ENV['GIT_AUTHOR_EMAIL']}",
|
43
54
|
:summary => "rtfm",
|
@@ -45,6 +56,7 @@ module FalkorLib #:nodoc:
|
|
45
56
|
:forge => '',
|
46
57
|
:source => '',
|
47
58
|
:project_page => '',
|
59
|
+
:origin => '',
|
48
60
|
:license => '',
|
49
61
|
:issues_url => '',
|
50
62
|
:tags => []
|
@@ -90,13 +102,11 @@ module FalkorLib #:nodoc:
|
|
90
102
|
:puppet => {},
|
91
103
|
:forge => {
|
92
104
|
:none => { :url => '', :name => "None"},
|
93
|
-
:gforge => { :url => '
|
94
|
-
:github => { :url => '
|
95
|
-
:gitlab => { :url => '
|
105
|
+
:gforge => { :url => 'gforge.uni.lu', :name => 'GForge @ Uni.lu' },
|
106
|
+
:github => { :url => 'github.com', :name => 'Github', :login => "#{`whoami`.chomp.capitalize}" },
|
107
|
+
:gitlab => { :url => 'gitlab.uni.lu', :name => 'Gitlab @ Uni.lu', :login => "#{`whoami`.chomp.capitalize}" },
|
96
108
|
},
|
97
109
|
}
|
98
|
-
|
99
|
-
|
100
110
|
end
|
101
111
|
end
|
102
112
|
end
|
@@ -377,11 +387,13 @@ module FalkorLib
|
|
377
387
|
# get the local configuration
|
378
388
|
local_config = FalkorLib::Config.get(dir)
|
379
389
|
config = FalkorLib::Config::Bootstrap::DEFAULTS[:metadata].clone
|
390
|
+
name = get_project_name(dir)
|
380
391
|
if local_config[:project]
|
381
392
|
config.deep_merge!( local_config[:project])
|
382
393
|
else
|
383
|
-
config[:name] = ask("\tProject name: ",
|
394
|
+
config[:name] = ask("\tProject name: ", name) unless options[:name]
|
384
395
|
end
|
396
|
+
|
385
397
|
# Type of project
|
386
398
|
config[:type] << :latex if options[:latex]
|
387
399
|
if config[:type].empty?
|
@@ -398,25 +410,35 @@ module FalkorLib
|
|
398
410
|
end
|
399
411
|
path = normalized_path(dir)
|
400
412
|
config[:filename] = options[:filename] ? options[:filename] : File.join(path, 'README.md')
|
401
|
-
|
413
|
+
if ( FalkorLib::Git.init?(dir) && FalkorLib::Git.remotes(dir).include?( 'origin' ))
|
414
|
+
config[:origin] = FalkorLib::Git.config('remote.origin.url')
|
415
|
+
if config[:origin] =~ /((gforge|gitlab|github)[\.\w_-]+)[:\d\/]+(\w*)/
|
416
|
+
config[:forge] = $2.to_sym
|
417
|
+
config[:by] = $3
|
418
|
+
end
|
419
|
+
else
|
420
|
+
config[:forge] = select_forge(config[:forge]).to_sym if config[:forge].empty?
|
421
|
+
end
|
402
422
|
forges = FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ]
|
423
|
+
#ap config
|
403
424
|
default_source = case config[:forge]
|
404
425
|
when :gforge
|
405
|
-
forges[:url] + "/projects/" +
|
406
|
-
when :github
|
407
|
-
forges[:url] + "/" +
|
408
|
-
when :gitlab
|
409
|
-
forges[:url] + "/" + forges[:name].downcase
|
426
|
+
'https://' + forges[:url] + "/projects/" + name.downcase
|
427
|
+
when :github, :gitlab
|
428
|
+
'https://' + forges[:url] + "/" + config[:by] + "/" + name.downcase
|
410
429
|
else
|
411
430
|
""
|
412
431
|
end
|
413
|
-
ap config
|
414
432
|
FalkorLib::Config::Bootstrap::DEFAULTS[:metadata].each do |k,v|
|
415
433
|
next if v.kind_of?(Array) or [ :license, :forge ].include?( k )
|
416
434
|
next if k == :name and ! config[:name].empty?
|
417
435
|
next if k == :issues_url and ! [ :github, :gitlab ].include?( config[:forge] )
|
418
436
|
#next unless [ :name, :summary, :description ].include?(k.to_sym)
|
419
437
|
default_answer = case k
|
438
|
+
when :author
|
439
|
+
(config[:by] == 'ULHPC') ? 'UL HPC Management Team' : config[:author]
|
440
|
+
when :mail
|
441
|
+
(config[:by] == 'ULHPC') ? 'hpc-sysadmins@uni.lu' : config[:mail]
|
420
442
|
when :description
|
421
443
|
config[:description].empty? ? "#{config[:summary]}" : "#{config[:description]}"
|
422
444
|
when :source
|
@@ -491,13 +513,45 @@ module FalkorLib
|
|
491
513
|
end
|
492
514
|
end # rootlink
|
493
515
|
|
516
|
+
###### makefile_link ######
|
517
|
+
# Create a symlink to the one of Falkor's Makefile, typically bring as a Git submodule
|
518
|
+
# Supported options:
|
519
|
+
# * :force [boolean] force action
|
520
|
+
# * :latex [boolean] Makefile to compile LaTeX documents
|
521
|
+
# * :gnuplot [boolean] Makefile to compile GnuPlot scripts
|
522
|
+
# * :markdown [boolean] Makefile to convert Markdown files to HTML
|
523
|
+
# * :target [string] Path to target
|
524
|
+
# * :repo [string] Path to Falkor's Makefile repository
|
525
|
+
##
|
526
|
+
def makefile_link(dir = Dir.pwd, options = {})
|
527
|
+
path = normalized_path(dir)
|
528
|
+
rootdir = FalkorLib::Git.rootdir(path)
|
529
|
+
info "Create a symlink to the one of Falkor's Makefile"
|
530
|
+
# Add Falkor's
|
531
|
+
submodules = FalkorLib.config[:git][:submodules]
|
532
|
+
submodules['Makefiles'] = {
|
533
|
+
:url => 'https://github.com/Falkor/Makefiles.git',
|
534
|
+
:branch => 'devel'
|
535
|
+
} if submodules['Makefiles'].nil?
|
536
|
+
FalkorLib::Git.submodule_init(rootdir, submodules)
|
537
|
+
|
538
|
+
end # makefile_link
|
539
|
+
|
540
|
+
|
541
|
+
|
542
|
+
|
494
543
|
###### latex ######
|
495
|
-
# Bootstrap a LaTeX sub-project within a given repository
|
544
|
+
# Bootstrap a LaTeX sub-project of type <type> within a given repository <dir>.
|
545
|
+
# Supported types:
|
546
|
+
# * :beamer LaTeX Beamer Slides
|
547
|
+
# * :article LaTeX article
|
548
|
+
# * :letter LaTeX Letter
|
496
549
|
# Supported options:
|
497
550
|
# * :force [boolean] force action
|
498
551
|
##
|
499
552
|
def latex(dir = Dir.pwd, type = :beamer, options = {})
|
500
553
|
ap options if options[:debug]
|
554
|
+
print_error_and_exit "Unsupported type" unless [ :beamer, :article, :letter ].include?( type )
|
501
555
|
path = normalized_path(dir)
|
502
556
|
config = FalkorLib::Config::Bootstrap::DEFAULTS[:latex].clone
|
503
557
|
# initiate the repository if needed
|
@@ -511,7 +565,7 @@ module FalkorLib
|
|
511
565
|
info "Initiate a LaTeX #{type} project from the Git root directory: '#{rootdir}'"
|
512
566
|
really_continue? unless options[:force]
|
513
567
|
relative_path_to_root = (Pathname.new( FalkorLib::Git.rootdir(dir) ).relative_path_from Pathname.new( File.realpath(path))).to_s
|
514
|
-
config[:name] = options[:name] ? options[:name] : ask("\tEnter the name of the #{type} project: ", File.basename(path))
|
568
|
+
config[:name] = options[:name] ? options[:name] : ask("\tEnter the name of the #{type} LaTeX project: ", File.basename(path))
|
515
569
|
raise FalkorLib::ExecError "Empty project name" if config[:name].empty?
|
516
570
|
default_project_dir = (Pathname.new( File.realpath(path) ).relative_path_from Pathname.new( FalkorLib::Git.rootdir(dir))).to_s
|
517
571
|
if relative_path_to_root == '.'
|
@@ -519,16 +573,18 @@ module FalkorLib
|
|
519
573
|
when :article
|
520
574
|
"articles/#{Time.now.year}/#{config[:name]}"
|
521
575
|
when :beamer
|
522
|
-
"slides/#{Time.now.year}/#{config[:name]}
|
576
|
+
"slides/#{Time.now.year}/#{config[:name]}"
|
523
577
|
when :bookchapter
|
524
578
|
"chapters/#{config[:name]}"
|
579
|
+
when :letter
|
580
|
+
"letters/#{Time.now.year}/#{config[:name]}"
|
525
581
|
else
|
526
582
|
"#{config[:name]}"
|
527
583
|
end
|
528
584
|
else
|
529
585
|
default_project_dir += "/#{config[:name]}" unless default_project_dir =~ /#{config[:name]}$/
|
530
586
|
end
|
531
|
-
project_dir = ask("\tLaTeX
|
587
|
+
project_dir = ask("\tLaTeX Sources directory (relative to the Git root directory)", "#{default_project_dir}/src")
|
532
588
|
raise FalkorLib::ExecError "Empty project directory" if project_dir.empty?
|
533
589
|
subdir = File.join(rootdir, project_dir)
|
534
590
|
if File.exists?(File.join(subdir, '.root'))
|
@@ -544,7 +600,7 @@ module FalkorLib
|
|
544
600
|
} if [ :article, :beamer, :bookchapter].include?(type)
|
545
601
|
submodules['beamerthemeFalkor'] = { :url => 'https://github.com/Falkor/beamerthemeFalkor' } if type == :beamer
|
546
602
|
FalkorLib::Git.submodule_init(rootdir, submodules)
|
547
|
-
info "bootstrapping the #{type} project '#{project_dir}'"
|
603
|
+
info "bootstrapping the #{type} project sources in '#{project_dir}'"
|
548
604
|
# Create the project directory
|
549
605
|
Dir.chdir( rootdir ) do
|
550
606
|
run %{ mkdir -p #{project_dir}/images } unless File.directory?("#{subdir}/images")
|
@@ -571,6 +627,8 @@ module FalkorLib
|
|
571
627
|
'Slides '
|
572
628
|
when :bookchapter
|
573
629
|
'Book Chapter '
|
630
|
+
when :letter
|
631
|
+
'Letter '
|
574
632
|
else
|
575
633
|
''
|
576
634
|
end
|
@@ -587,7 +645,7 @@ module FalkorLib
|
|
587
645
|
end
|
588
646
|
# Create the trash directory
|
589
647
|
trash(subdir)
|
590
|
-
|
648
|
+
|
591
649
|
# populate the images/ directory
|
592
650
|
baseimages = File.join( FalkorLib.templates, 'latex', 'images')
|
593
651
|
images_makefile_src = "#{FalkorLib.config[:git][:submodulesdir]}/Makefiles/generic/Makefile.insubdir"
|
data/lib/falkorlib/cli/link.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
################################################################################
|
3
|
-
# Time-stamp: <
|
3
|
+
# Time-stamp: <Thu 2015-10-22 20:16 svarrette>
|
4
4
|
################################################################################
|
5
5
|
|
6
6
|
require 'thor'
|
@@ -25,6 +25,20 @@ module FalkorLib
|
|
25
25
|
end # rootdir
|
26
26
|
|
27
27
|
|
28
|
+
###### make ######
|
29
|
+
method_option :latex, :default => true, :type => :boolean, :aliases => '-l', :desc => "Makefile to compile LaTeX documents"
|
30
|
+
method_option :gnuplot, :type => :boolean, :aliases => ['--plot', '-g', '-p'], :desc => "Makefile to compile GnuPlot scripts"
|
31
|
+
method_option :markdown, :type => :boolean, :aliases => '-m', :desc => "Makefile to convert Markdown files to HTML"
|
32
|
+
method_option :markdown, :type => :boolean, :aliases => '-m', :desc => "Makefile to convert Markdown files to HTML"
|
33
|
+
method_option :repo, :default => "#{FalkorLib.config[:git][:submodulesdir]}/Makefiles",
|
34
|
+
:aliases => '-r', :desc => "Path to Falkor's Makefile repository (Relative to Git root dir)"
|
35
|
+
method_option :target, :aliases => '-t', :desc => "Symlink target"
|
36
|
+
#......................................
|
37
|
+
desc "make [options]", "Create a symlink to one of Falkor's Makefile, set as Git submodule"
|
38
|
+
def make(dir = Dir.pwd)
|
39
|
+
FalkorLib::Bootstrap.makefile_link(dir, options)
|
40
|
+
end # make
|
41
|
+
|
28
42
|
|
29
43
|
end # class Link
|
30
44
|
end # module CLI
|
data/lib/falkorlib/cli/new.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
################################################################################
|
3
|
-
# Time-stamp: <
|
3
|
+
# Time-stamp: <Mon 2015-10-12 16:48 svarrette>
|
4
4
|
################################################################################
|
5
5
|
|
6
6
|
require 'thor'
|
@@ -69,6 +69,18 @@ By default, NAME is '.' meaning that the repository will be initialized in the c
|
|
69
69
|
# end # article
|
70
70
|
|
71
71
|
|
72
|
+
###### letter ######
|
73
|
+
method_option :name, :aliases => '-n', :desc => 'Name of the LaTeX project'
|
74
|
+
method_option :dir, :aliases => '-d', :desc => 'Project directory (relative to the git root directory)'
|
75
|
+
#......................................
|
76
|
+
desc "letter [options]", "LaTeX-based letter"
|
77
|
+
#___________________
|
78
|
+
def letter(path = Dir.pwd)
|
79
|
+
FalkorLib::Bootstrap.latex(path, :letter, options)
|
80
|
+
end # letter
|
81
|
+
|
82
|
+
|
83
|
+
|
72
84
|
###### slides ######
|
73
85
|
#......................................
|
74
86
|
desc "slides [options]", "Bootstrap LaTeX Beamer slides"
|
data/lib/falkorlib/git/base.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
################################################################################
|
3
|
-
# Time-stamp: <Tue
|
3
|
+
# Time-stamp: <Tue 2016-02-02 20:58 svarrette>
|
4
4
|
################################################################################
|
5
5
|
# Interface for the main Git operations
|
6
6
|
#
|
data/lib/falkorlib/version.rb
CHANGED
@@ -3,31 +3,35 @@
|
|
3
3
|
<% unless (config[:license].empty? or config[:license] == "none") %>
|
4
4
|
[ %>)](<%= FalkorLib::Config::Bootstrap::DEFAULTS[:licenses][ config[:license] ][:url] %>)
|
5
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] %>) [](<%= config[:issues_url] %>)
|
6
7
|
|
7
|
-
Time-stamp: <
|
8
|
+
Time-stamp: <Tue 2016-02-02 23:42 svarrette>
|
8
9
|
|
9
10
|
<%= ::Artii::Base.new().asciify( config[:name] ).split("\n").join("\n ") %>
|
10
11
|
Copyright (c) <%= Time.now.year %> <%= config[:author] %> <<%= config[:mail] %>>
|
11
12
|
|
12
13
|
<%= config[:summary] %>
|
13
14
|
|
14
|
-
<% unless (config[:license].empty? or config[:license] == "none") %>
|
15
|
-
* [<%= config[:license] %> Licence](<%= FalkorLib::Config::Bootstrap::DEFAULTS[:licenses][ config[:license] ][:url] %>)
|
16
|
-
<% end %>
|
17
|
-
* [Sources](<%= config[:source] %>)
|
18
|
-
|
19
15
|
## Synopsis
|
20
16
|
|
21
17
|
<%= config[:description] %>
|
22
18
|
|
23
|
-
|
24
|
-
## Installation
|
19
|
+
## Installation / Repository Setup
|
25
20
|
|
26
21
|
This repository is hosted on [<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:name] %>](<%= config[:project_page] %>).
|
27
22
|
|
23
|
+
<% if (config[:forge] == :gitlab) %>
|
24
|
+
* Git interactions with this repository (push, pull etc.) are performed over SSH using the port 8022
|
25
|
+
<% end %>
|
26
|
+
* To clone this repository, proceed as follows (adapt accordingly):
|
27
|
+
|
28
|
+
$> mkdir -p ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
|
29
|
+
$> cd ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
|
30
|
+
$> git clone <%= config[:origin] %>
|
31
|
+
|
28
32
|
**`/!\ IMPORTANT`**: Once cloned, initiate your local copy of the repository by running:
|
29
33
|
|
30
|
-
$> cd <%=
|
34
|
+
$> cd <%= name.downcase %>
|
31
35
|
<% if options[:make] %>
|
32
36
|
$> make setup
|
33
37
|
<% else %>
|
@@ -35,3 +39,12 @@ This repository is hosted on [<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge]
|
|
35
39
|
$> rake setup
|
36
40
|
<% end %>
|
37
41
|
|
42
|
+
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.
|
43
|
+
|
44
|
+
Later on, you can upgrade the [Git submodules](.gitmodules) to the latest version by running:
|
45
|
+
|
46
|
+
<% if options[:make] %>
|
47
|
+
$> make upgrade
|
48
|
+
<% else %>
|
49
|
+
$> rake git:submodules:upgrade
|
50
|
+
<% end %>
|
@@ -1,13 +1,15 @@
|
|
1
|
+
## Issues / Feature request
|
1
2
|
|
2
|
-
|
3
|
+
You can submit bug / issues / feature request using the [`<%= config[:by] %>/<%= config[:name].downcase %>` Project Tracker](<%= config[:issues_url] %>)
|
4
|
+
|
5
|
+
## Advanced Topics
|
3
6
|
|
4
7
|
### Git
|
5
8
|
|
6
|
-
This repository make use of [Git](http://git-scm.com/) such that you should have
|
7
|
-
it installed on your working machine:
|
9
|
+
This repository make use of [Git](http://git-scm.com/) such that you should have it installed on your working machine:
|
8
10
|
|
9
11
|
$> apt-get install git-core # On Debian-like systems
|
10
|
-
|
12
|
+
$> yum install git # On CentOS-like systems
|
11
13
|
$> brew install git # On Mac OS, using [Homebrew](http://mxcl.github.com/homebrew/)
|
12
14
|
$> port install git # On Mac OS, using MacPort
|
13
15
|
|
@@ -42,5 +42,5 @@ Once you have finished to commit your last changes, make the release effective b
|
|
42
42
|
|
43
43
|
$> <%= options[:make] ? 'make release' : 'rake version:release' %>
|
44
44
|
|
45
|
-
|
45
|
+
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.
|
46
46
|
|
@@ -0,0 +1,38 @@
|
|
1
|
+
This letter is to motivate my request to apply for ...
|
2
|
+
|
3
|
+
Feel free to use the Markdown format to feed this letter
|
4
|
+
|
5
|
+
For instance, here is an enumerated list:
|
6
|
+
|
7
|
+
1. clone the repository
|
8
|
+
2. install `pandoc`
|
9
|
+
3. Install the dependencies
|
10
|
+
a. `texlive-latex-base`
|
11
|
+
b. `latex-beamer`
|
12
|
+
4. Install a reader such as `Skim`
|
13
|
+
|
14
|
+
Footnotes:
|
15
|
+
|
16
|
+
This is from [*Mitch Resnick*](https://en.wikipedia.org/wiki/Mitchel_Resnick).
|
17
|
+
|
18
|
+
> If you learn to read, you can then read to learn.\
|
19
|
+
> If you learn to code, you can then code to learn.[^ted]
|
20
|
+
|
21
|
+
[^ted]: \tiny<http://www.ted.com/talks/mitch_resnick_let_s_teach_kids_to_code.html>
|
22
|
+
|
23
|
+
etc.
|
24
|
+
|
25
|
+
* item 1
|
26
|
+
* item 2
|
27
|
+
- sub item 1
|
28
|
+
|
29
|
+
The main interest of using markdown is to simplify \LaTeX tables
|
30
|
+
|
31
|
+
|
32
|
+
| Test | col2 | col3 |
|
33
|
+
|--------|------|------|
|
34
|
+
| item 1 | 14 | 28 |
|
35
|
+
| item 2 | 1 | 1 |
|
36
|
+
| | | |
|
37
|
+
|
38
|
+
|
@@ -0,0 +1,154 @@
|
|
1
|
+
% =============================================================================
|
2
|
+
% File: <%= config[:name] %>.tex --
|
3
|
+
% Author(s): <%= config[:author] %> (<%= config[:mail] %>)
|
4
|
+
% Time-stamp: <Fri 2015-10-09 20:05 svarrette>
|
5
|
+
%
|
6
|
+
% Copyright (c) <%= Time.now.year %> <%= config[:author] %><Sebastien.Varrette@uni.lu>
|
7
|
+
%
|
8
|
+
% For more information:
|
9
|
+
% - LaTeX: http://www.latex-project.org/
|
10
|
+
% - LaTeX symbol list:
|
11
|
+
% http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf
|
12
|
+
% =============================================================================
|
13
|
+
|
14
|
+
\documentclass[11pt,a4paper]{letter}
|
15
|
+
|
16
|
+
\usepackage{_style}
|
17
|
+
\usepackage{microtype} % Improves typography
|
18
|
+
|
19
|
+
\graphicspath{{images/}} % Add this directory to the searched paths for graphics
|
20
|
+
|
21
|
+
% Create a new command for the horizontal rule in the document which allows thickness specification
|
22
|
+
\makeatletter
|
23
|
+
\def\vhrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@}
|
24
|
+
\makeatother
|
25
|
+
|
26
|
+
% ----------------------------------------------------------------------------------------
|
27
|
+
% DOCUMENT MARGINS
|
28
|
+
% ----------------------------------------------------------------------------------------
|
29
|
+
|
30
|
+
\textwidth 6.7in
|
31
|
+
\textheight 9.75in
|
32
|
+
\oddsidemargin -.25in
|
33
|
+
\evensidemargin -.25in
|
34
|
+
\topmargin -1in
|
35
|
+
\rightmargin 1in
|
36
|
+
\longindentation 0.50\textwidth
|
37
|
+
\parindent 0.4in
|
38
|
+
|
39
|
+
% ----------------------------------------------------------------------------------------
|
40
|
+
% SENDER INFORMATION
|
41
|
+
% ----------------------------------------------------------------------------------------
|
42
|
+
|
43
|
+
\def\Location{<%= config[:location] %>} % Location
|
44
|
+
\def\Who{<%= config[:author] %>} % Your name
|
45
|
+
\def\What{<%= config[:author_title] %>} % Your title
|
46
|
+
\def\Where{<%= config[:department] %> (<%= config[:department_acro] %>)} % Your department/institution
|
47
|
+
\def\Address{<%= config[:address] %>} % Your address
|
48
|
+
\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
|
+
|
53
|
+
% ----------------------------------------------------------------------------------------
|
54
|
+
% HEADER AND FROM ADDRESS STRUCTURE
|
55
|
+
% ----------------------------------------------------------------------------------------
|
56
|
+
|
57
|
+
\address{
|
58
|
+
\includegraphics[width=1in]{<%= config[:logo] %>} % Include the logo of your institution
|
59
|
+
\hspace{5.1in} % Position of the institution logo, increase to move left, decrease to move right
|
60
|
+
\vskip -1.07in~\\ % Position of the text in relation to the institution logo, increase to move down, decrease to move up
|
61
|
+
\Large\hspace{1.5in}\hfill ~\\[0.05in] % First line of institution name, adjust hspace if your logo is wide
|
62
|
+
\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
|
64
|
+
~\\[-0.11in] % Reduce the whitespace above the horizontal rule
|
65
|
+
\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
|
67
|
+
\footnotesize % Use a smaller font size for the details
|
68
|
+
%\Who \\ \em % Your name, all text after this will be italicized
|
69
|
+
\Where\\ % Your department
|
70
|
+
\Address\\ % Your address
|
71
|
+
\CityZip\\ % Your city and zip code
|
72
|
+
\TEL\\ % Your phone number
|
73
|
+
\Email\\[2em] % Your email address
|
74
|
+
%\URL % Your URL
|
75
|
+
\Location, \today
|
76
|
+
}
|
77
|
+
\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
|
79
|
+
}
|
80
|
+
|
81
|
+
% ----------------------------------------------------------------------------------------
|
82
|
+
% TO ADDRESS STRUCTURE
|
83
|
+
% ----------------------------------------------------------------------------------------
|
84
|
+
|
85
|
+
\def\opening#1{\thispagestyle{empty}
|
86
|
+
%\hfill \Location, \today
|
87
|
+
{\centering\fromaddress \vspace{0.6in} \\ % Print the header and from address here, add whitespace to move date down
|
88
|
+
%\hspace*{\longindentation}\today\hspace*{\fill}
|
89
|
+
\par} % Print today's date, remove \today to not display it
|
90
|
+
{\raggedright \toname \\ \toaddress \par} % Print the to name and address
|
91
|
+
\vspace{0.4in} % White space after the to address
|
92
|
+
\noindent #1 % Print the opening line
|
93
|
+
% Uncomment the 4 lines below to print a footnote with custom text
|
94
|
+
% \def\thefootnote{}
|
95
|
+
% \def\footnoterule{\hrule}
|
96
|
+
% \footnotetext{\hspace*{\fill}{\footnotesize\em Footnote text}}
|
97
|
+
% \def\thefootnote{\arabic{footnote}}
|
98
|
+
}
|
99
|
+
|
100
|
+
% ----------------------------------------------------------------------------------------
|
101
|
+
% SIGNATURE STRUCTURE
|
102
|
+
% ----------------------------------------------------------------------------------------
|
103
|
+
|
104
|
+
\signature{\Who \What} % The signature is a combination of your name and title
|
105
|
+
|
106
|
+
\long\def\closing#1{
|
107
|
+
\vspace{0.1in} % Some whitespace after the letter content and before the signature
|
108
|
+
\noindent % Stop paragraph indentation
|
109
|
+
\hspace*{\longindentation} % Move the signature right
|
110
|
+
\parbox{\indentedwidth}{\raggedright
|
111
|
+
#1 % Print the signature text
|
112
|
+
\vskip 0.65in % Whitespace between the signature text and your name
|
113
|
+
\fromsig}} % Print your name and title
|
114
|
+
|
115
|
+
% ----------------------------------------------------------------------------------------
|
116
|
+
|
117
|
+
\begin{document}
|
118
|
+
|
119
|
+
% ----------------------------------------------------------------------------------------
|
120
|
+
% TO ADDRESS
|
121
|
+
% ----------------------------------------------------------------------------------------
|
122
|
+
|
123
|
+
\begin{letter}
|
124
|
+
{
|
125
|
+
% To
|
126
|
+
}
|
127
|
+
|
128
|
+
% ----------------------------------------------------------------------------------------
|
129
|
+
% LETTER CONTENT
|
130
|
+
% ----------------------------------------------------------------------------------------
|
131
|
+
|
132
|
+
\opening{To whom it may concern,}
|
133
|
+
|
134
|
+
\input{_content.md}
|
135
|
+
|
136
|
+
\closing{Sincerely,}
|
137
|
+
|
138
|
+
% ----------------------------------------------------------------------------------------
|
139
|
+
|
140
|
+
\end{letter}
|
141
|
+
|
142
|
+
%\bibliography{biblio.bib}
|
143
|
+
|
144
|
+
\end{document}
|
145
|
+
|
146
|
+
% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
147
|
+
% eof
|
148
|
+
%
|
149
|
+
% Local Variables:
|
150
|
+
% mode: latex
|
151
|
+
% mode: flyspell
|
152
|
+
% mode: visual-line
|
153
|
+
% TeX-master: "<%= config[:name] %>.tex"
|
154
|
+
% End:
|
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.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastien Varrette
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -414,12 +414,13 @@ files:
|
|
414
414
|
- templates/Rakefile/footer_rakefile.erb
|
415
415
|
- templates/Rakefile/header_rakefile.erb
|
416
416
|
- templates/Rakefile/rakefile_gitflow.erb
|
417
|
-
- templates/latex/beamer/.texinfo/main.tex.el
|
418
417
|
- templates/latex/beamer/_content.md.erb
|
419
418
|
- templates/latex/beamer/main.tex.erb
|
420
419
|
- templates/latex/images/logo_UL.pdf
|
421
420
|
- templates/latex/images/logo_ULHPC.pdf
|
422
421
|
- templates/latex/images/question.jpg
|
422
|
+
- templates/latex/letter/_content.md.erb
|
423
|
+
- templates/latex/letter/main.tex.erb
|
423
424
|
- templates/motd/motd.erb
|
424
425
|
- templates/puppet/modules/.gitignore
|
425
426
|
- templates/puppet/modules/.pmtignore
|
@@ -1,21 +0,0 @@
|
|
1
|
-
(TeX-add-style-hook
|
2
|
-
"main.tex"
|
3
|
-
(lambda ()
|
4
|
-
(add-to-list 'LaTeX-verbatim-environments-local "semiverbatim")
|
5
|
-
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "hyperref")
|
6
|
-
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "hyperimage")
|
7
|
-
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "hyperbaseurl")
|
8
|
-
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "nolinkurl")
|
9
|
-
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "url")
|
10
|
-
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "path")
|
11
|
-
(add-to-list 'LaTeX-verbatim-macros-with-delims-local "url")
|
12
|
-
(add-to-list 'LaTeX-verbatim-macros-with-delims-local "path")
|
13
|
-
(TeX-run-style-hooks
|
14
|
-
"latex2e"
|
15
|
-
"_content"
|
16
|
-
"beamer"
|
17
|
-
"beamer10"
|
18
|
-
"_style")
|
19
|
-
(LaTeX-add-counters
|
20
|
-
"finalframe")))
|
21
|
-
|