golink 1.0.0

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.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +107 -0
  4. data/_includes/dbase/dbase +8 -0
  5. data/_includes/partials/footer.html +15 -0
  6. data/_includes/partials/ga.html +16 -0
  7. data/_includes/partials/head.html +66 -0
  8. data/_includes/partials/src.html +3 -0
  9. data/_layouts/compress.html +10 -0
  10. data/_layouts/default.html +46 -0
  11. data/_layouts/error.html +26 -0
  12. data/_sass/base/_base.scss +18 -0
  13. data/_sass/base/_fonts.scss +4 -0
  14. data/_sass/base/_mixins.scss +40 -0
  15. data/_sass/base/_reset.scss +602 -0
  16. data/_sass/base/_variables.scss +15 -0
  17. data/_sass/includes/_footer.scss +35 -0
  18. data/_sass/includes/_includes.scss +2 -0
  19. data/_sass/includes/vendor/font-awesome/_animated.scss +34 -0
  20. data/_sass/includes/vendor/font-awesome/_bordered-pulled.scss +25 -0
  21. data/_sass/includes/vendor/font-awesome/_core.scss +12 -0
  22. data/_sass/includes/vendor/font-awesome/_fixed-width.scss +6 -0
  23. data/_sass/includes/vendor/font-awesome/_icons.scss +697 -0
  24. data/_sass/includes/vendor/font-awesome/_larger.scss +13 -0
  25. data/_sass/includes/vendor/font-awesome/_list.scss +19 -0
  26. data/_sass/includes/vendor/font-awesome/_mixins.scss +26 -0
  27. data/_sass/includes/vendor/font-awesome/_path.scss +15 -0
  28. data/_sass/includes/vendor/font-awesome/_rotated-flipped.scss +20 -0
  29. data/_sass/includes/vendor/font-awesome/_stacked.scss +20 -0
  30. data/_sass/includes/vendor/font-awesome/_variables.scss +708 -0
  31. data/_sass/includes/vendor/font-awesome/font-awesome.scss +17 -0
  32. data/_sass/layouts/_default.scss +88 -0
  33. data/_sass/layouts/_layouts.scss +2 -0
  34. data/_sass/layouts/_page.scss +25 -0
  35. data/assets/images/avatar/golink.svg +224 -0
  36. data/assets/images/favicon/favicon-golink.png +0 -0
  37. data/assets/javascripts/vendor/wow.min.js +2 -0
  38. data/assets/stylesheets/main.scss +6 -0
  39. data/assets/stylesheets/vendor/animate.min.css +1 -0
  40. data/exe/golink +55 -0
  41. data/lib/golink.rb +13 -0
  42. data/lib/golink/main.rb +56 -0
  43. data/lib/golink/name.rb +14 -0
  44. data/lib/golink/template/config_yml.rb +35 -0
  45. data/lib/golink/template/dbase.rb +64 -0
  46. data/lib/golink/template/error_page.rb +25 -0
  47. data/lib/golink/template/gemfile.rb +38 -0
  48. data/lib/golink/template/index_md.rb +23 -0
  49. data/lib/golink/template/utils.rb +31 -0
  50. data/lib/golink/version.rb +16 -0
  51. metadata +195 -0
@@ -0,0 +1,56 @@
1
+ require "fileutils"
2
+ require "colorize"
3
+
4
+ module Jekyll
5
+ module Golink
6
+ module Theme
7
+ # Class default - Where everything is loaded and executed.
8
+ class Main
9
+ # Including modules of the template creation parts.
10
+ include Jekyll::Golink::Theme::Utils
11
+ include Jekyll::Golink::Theme::ErrorPage
12
+ include Jekyll::Golink::Theme::Gemfile
13
+ include Jekyll::Golink::Theme::ConfigYML
14
+ include Jekyll::Golink::Theme::IndexMD
15
+ include Jekyll::Golink::Theme::Dbase
16
+
17
+ def test_
18
+ puts "Hello! The #{Jekyll::Golink::Theme::NAME} is working, my dear!"
19
+ end
20
+
21
+ def usage
22
+ puts "[#{Jekyll::Golink::Theme::NAME} v#{Jekyll::Golink::Theme::VERSION}] Usage: 'golink init'".blue
23
+ abort
24
+ end
25
+
26
+ def init
27
+ unless Dir.glob('./{*}').empty?
28
+ puts "[#{Jekyll::Golink::Theme::NAME} v#{Jekyll::Golink::Theme::VERSION}] Conflict: '#{Dir.pwd}' his directory is not empty.".red
29
+ abort
30
+ end
31
+
32
+ # Starting method to create directories
33
+ create_folders(["assets/images/avatar","assets/images/favicon","_data"])
34
+ # Starting method to create file 'index.md'
35
+ create_index_md("index.md","default")
36
+ # Starting method to create file '_config.yml'
37
+ create_config_yml("_config.yml")
38
+ # Starting method to create page '404'
39
+ create_error_page("404.md","/404.html")
40
+ # Starting method to create file Gemfile
41
+ create_gemfile("Gemfile")
42
+ # Starting method to create site database.
43
+ create_dbase("_data","dbase.yml")
44
+ # Success message
45
+ puts "[#{Jekyll::Golink::Theme::NAME} v#{Jekyll::Golink::Theme::VERSION}] Repository initialized in (#{Dir.pwd})".green
46
+
47
+ end
48
+
49
+
50
+ end # class Main
51
+
52
+ end # module Theme
53
+ end # module Golink
54
+ end # module Jekyll
55
+
56
+
@@ -0,0 +1,14 @@
1
+ module Jekyll
2
+ module Golink
3
+ module Theme
4
+
5
+ # Description NAMES:
6
+ # NAME: It is the name of the theme itself.
7
+ # NAME_GEM: It is the name of the gem, which will be used for 'require' and in the file '_config.yml'
8
+ NAME = "Go!Link"
9
+ NAME_GEM = "golink"
10
+ NAME_EXE = "golink"
11
+
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,35 @@
1
+ module Jekyll
2
+ module Golink
3
+ module Theme
4
+ module ConfigYML
5
+ def create_config_yml(filename)
6
+
7
+ # Creating the _config.yml file. Required by Jekyll.
8
+
9
+ File.open(filename, 'w') do |file|
10
+ file.puts "baseurl: \"\" # the subpath of your site, e.g. /blog"
11
+ file.puts "url: \"\" # the base hostname & protocol for your site, e.g. http://example.com"
12
+ file.puts ""
13
+ file.puts "# Config SASS"
14
+ file.puts "sass:"
15
+ file.puts " sass_dir: _sass"
16
+ file.puts " style: compressed"
17
+ file.puts "# Loading theme"
18
+ file.puts "theme: #{Jekyll::Golink::Theme::NAME_GEM}"
19
+ file.puts "# Loading Gems"
20
+ file.puts "gems:"
21
+ file.puts " - jekyll-email-protect"
22
+ file.puts "# Build settings"
23
+ file.puts "markdown: kramdown"
24
+ file.puts "# Remove file from compilation."
25
+ file.puts "exclude:"
26
+ file.puts " - Gemfile"
27
+ file.puts " - Gemfile.lock"
28
+ file.puts " - README.md"
29
+ file.puts " - Rakefile"
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,64 @@
1
+ module Jekyll
2
+ module Golink
3
+ module Theme
4
+ module Dbase
5
+ def create_dbase(dir,filename)
6
+
7
+ # Creating the file 'dbase.yml' in the '_data' directory.
8
+ # This file will be created to store entire configuration on the website screen in question of strings.
9
+
10
+ File.open("#{dir}/#{filename}", 'w') do |file|
11
+ file.puts "# ________________________________________________________________________________________________ #"
12
+ file.puts "# Attention! Change only the values of the variables! Do not change the position of the variables. #"
13
+ file.puts "# ________________________________________________________________________________________________-#"
14
+ file.puts ""
15
+ file.puts "# Category: Site Config."
16
+ file.puts "site:"
17
+ file.puts " config:"
18
+ file.puts " title: #{Jekyll::Golink::Theme::NAME}"
19
+ file.puts " description: #{Jekyll::Golink::Theme::NAME} - A minimal theme for Jekyll."
20
+ file.puts " favicon: favicon-golink.png # E.g favicon-32x32.png"
21
+ file.puts " # Year your site was launched."
22
+ file.puts " launch:"
23
+ file.puts " avatar: golink.svg #E.g: my_image.png - [Add image in 'assets/images/avatar']"
24
+ file.puts " metatag:"
25
+ file.puts " google-site-verification:"
26
+ file.puts " type: WebSite"
27
+ file.puts " locale: en"
28
+ file.puts " expires: # E.g: \"Sat, 24 Dec 2017 00:10:00 GMT\""
29
+ file.puts " cache-control: # E.g: \"max-age=29030400, public\" # Default: public / max-age=29030400"
30
+ file.puts " tags: \"Golink, Theme, Jekyll\""
31
+ file.puts " refresh-time:"
32
+ file.puts " # Config for Google Analytics. Note: Must have Google Analytics Tracking ID."
33
+ file.puts " google:"
34
+ file.puts " analytics:"
35
+ file.puts " enable: false # Use: true | false"
36
+ file.puts " id: \"\" # tracking id, e.g. \"UA-000000-01\""
37
+ file.puts " footer:"
38
+ file.puts " message: A minimal theme for Jekyll."
39
+ file.puts ""
40
+ file.puts "# Category: User Data."
41
+ file.puts "userdata:"
42
+ file.puts " person_name: #{Jekyll::Golink::Theme::NAME}"
43
+ file.puts " user_description: A minimal theme for Jekyll"
44
+ file.puts " email: # E.g: your_name@domain.com"
45
+ file.puts " # Put the link you want here! You need to create the following structure for each link"
46
+ file.puts " # - title:"
47
+ file.puts " # icon:"
48
+ file.puts " # url:"
49
+ file.puts " # Note: (In 'icon' you must specify the Awesome Font icon. See: http://fontawesome.io/icons)."
50
+ file.puts " golink:"
51
+ file.puts " - title: GitHub"
52
+ file.puts " icon: fa-github"
53
+ file.puts " url: https://github.com/williamcanin/#{Jekyll::Golink::Theme::NAME_GEM}"
54
+ file.puts " - title: Gem"
55
+ file.puts " icon: fa-diamond"
56
+ file.puts " url: https://rubygems.org/gems/#{Jekyll::Golink::Theme::NAME_GEM}"
57
+ file.puts ""
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+
@@ -0,0 +1,25 @@
1
+ module Jekyll
2
+ module Golink
3
+ module Theme
4
+ module ErrorPage
5
+ def create_error_page(filename,permalink)
6
+
7
+ # Create a markdown file, a page required for Jekyll case or see site url error.
8
+
9
+ File.open(filename, 'w') do |file|
10
+ file.puts "---"
11
+ file.puts "layout: error"
12
+ file.puts "title: Error 404"
13
+ file.puts "goback: < go back!"
14
+ file.puts "# Do not change the value of the permalink"
15
+ file.puts "permalink: #{permalink}"
16
+ file.puts "---"
17
+ file.puts ""
18
+ file.puts "Oops! Something went wrong! Page Not Found! The reasons may be: The page never"
19
+ file.puts "existed, I changed this page or it was deleted. Sorry baby."
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,38 @@
1
+ module Jekyll
2
+ module Golink
3
+ module Theme
4
+ module Gemfile
5
+ def create_gemfile(filename)
6
+
7
+ # Create a Gemfile file, responsible for installing the site dependencies, that is, the gems needed to generate the site.
8
+
9
+ File.open(filename, 'w') do |file|
10
+ file.puts "source \"https://rubygems.org\""
11
+ file.puts "ruby RUBY_VERSION"
12
+ file.puts ""
13
+ file.puts "# Dependencies"
14
+ file.puts "gem \"rake\", \"~> 12.0\""
15
+ file.puts "gem \"pygments.rb\", \"~> 1.1\""
16
+ file.puts ""
17
+ file.puts "# Loading Jekyll"
18
+ file.puts "gem \"jekyll\", \"~> 3.4\""
19
+ file.puts ""
20
+ file.puts "# Plugins for #{Jekyll::Golink::Theme::NAME}"
21
+ file.puts "group :jekyll_plugins do"
22
+ file.puts " gem \"jekyll-email-protect\", \"~> 1.0\""
23
+ file.puts "end"
24
+ file.puts ""
25
+ file.puts "# This load the theme #{Jekyll::Golink::Theme::NAME}"
26
+ file.puts "gem \"#{Jekyll::Golink::Theme::NAME_GEM}\", \"~> #{Jekyll::Golink::Theme::VERSION}\""
27
+ file.puts ""
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+
36
+
37
+
38
+
@@ -0,0 +1,23 @@
1
+ module Jekyll
2
+ module Golink
3
+ module Theme
4
+ module IndexMD
5
+
6
+ # Create index markdown page, responsible for launching the homepage of the site.
7
+
8
+ def create_index_md(filename,layout)
9
+ File.open(filename, 'w') do |file|
10
+ file.puts "---"
11
+ file.puts "# You don't need to edit this file, it's empty on purpose."
12
+ file.puts "# Edit theme's home layout instead if you wanna make some changes"
13
+ file.puts "# See: https://jekyllrb.com/docs/themes/#overriding-theme-defaults"
14
+ file.puts "layout: #{layout}"
15
+ file.puts "---"
16
+ file.puts ""
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+
@@ -0,0 +1,31 @@
1
+ module Jekyll
2
+ module Golink
3
+ module Theme
4
+
5
+ # This module will load important utilities for every script.
6
+
7
+ module Utils
8
+ # # This methods will be used for the next advanced version!
9
+ # # [Create a 'copyto' folder and put the files inside.]
10
+ #
11
+ # def copyto_path
12
+ # @copyto_path ||= File.join gem_path, 'copyto/.'
13
+ # end
14
+ # def gocopy!
15
+ # copyto_path
16
+ # FileUtils.cp_r "#{@copyto_path}", "."
17
+ # end
18
+
19
+ def gem_path
20
+ @gem_path ||= File.expand_path '../..', File.dirname(__FILE__)
21
+ end
22
+
23
+ def create_folders (options = [])
24
+ FileUtils::mkdir_p options
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
31
+
@@ -0,0 +1,16 @@
1
+ module Jekyll
2
+ module Golink
3
+ module Theme
4
+
5
+ # Description VERSION:
6
+ # MAJOR: It includes API changes and can break backward compatibility
7
+ # MINOR: It includes new features without breaking existing APIs
8
+ # PATCH: Fixes bugs and brings improvements in existing implementations
9
+ MAJOR = 1
10
+ MINOR = 0
11
+ PATCH = 0
12
+ VERSION = "#{MAJOR}.#{MINOR}.#{PATCH}"
13
+
14
+ end
15
+ end
16
+ end
metadata ADDED
@@ -0,0 +1,195 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: golink
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - William Canin
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-04-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.4'
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: 3.4.3
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '3.4'
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: 3.4.3
33
+ - !ruby/object:Gem::Dependency
34
+ name: jekyll-email-protect
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.0'
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: 1.0.3
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.0'
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: 1.0.3
53
+ - !ruby/object:Gem::Dependency
54
+ name: bundler
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.14'
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: 1.14.6
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.14'
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: 1.14.6
73
+ - !ruby/object:Gem::Dependency
74
+ name: colorize
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.8'
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.8.1
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.8'
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: 0.8.1
93
+ - !ruby/object:Gem::Dependency
94
+ name: rake
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '12.0'
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 12.0.0
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '12.0'
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: 12.0.0
113
+ description: A theme for Jekyll, to redirect links to his social network and contact.
114
+ email:
115
+ - william.costa.canin@gmail.com
116
+ executables:
117
+ - golink
118
+ extensions: []
119
+ extra_rdoc_files: []
120
+ files:
121
+ - LICENSE
122
+ - README.md
123
+ - _includes/dbase/dbase
124
+ - _includes/partials/footer.html
125
+ - _includes/partials/ga.html
126
+ - _includes/partials/head.html
127
+ - _includes/partials/src.html
128
+ - _layouts/compress.html
129
+ - _layouts/default.html
130
+ - _layouts/error.html
131
+ - _sass/base/_base.scss
132
+ - _sass/base/_fonts.scss
133
+ - _sass/base/_mixins.scss
134
+ - _sass/base/_reset.scss
135
+ - _sass/base/_variables.scss
136
+ - _sass/includes/_footer.scss
137
+ - _sass/includes/_includes.scss
138
+ - _sass/includes/vendor/font-awesome/_animated.scss
139
+ - _sass/includes/vendor/font-awesome/_bordered-pulled.scss
140
+ - _sass/includes/vendor/font-awesome/_core.scss
141
+ - _sass/includes/vendor/font-awesome/_fixed-width.scss
142
+ - _sass/includes/vendor/font-awesome/_icons.scss
143
+ - _sass/includes/vendor/font-awesome/_larger.scss
144
+ - _sass/includes/vendor/font-awesome/_list.scss
145
+ - _sass/includes/vendor/font-awesome/_mixins.scss
146
+ - _sass/includes/vendor/font-awesome/_path.scss
147
+ - _sass/includes/vendor/font-awesome/_rotated-flipped.scss
148
+ - _sass/includes/vendor/font-awesome/_stacked.scss
149
+ - _sass/includes/vendor/font-awesome/_variables.scss
150
+ - _sass/includes/vendor/font-awesome/font-awesome.scss
151
+ - _sass/layouts/_default.scss
152
+ - _sass/layouts/_layouts.scss
153
+ - _sass/layouts/_page.scss
154
+ - assets/images/avatar/golink.svg
155
+ - assets/images/favicon/favicon-golink.png
156
+ - assets/javascripts/vendor/wow.min.js
157
+ - assets/stylesheets/main.scss
158
+ - assets/stylesheets/vendor/animate.min.css
159
+ - exe/golink
160
+ - lib/golink.rb
161
+ - lib/golink/main.rb
162
+ - lib/golink/name.rb
163
+ - lib/golink/template/config_yml.rb
164
+ - lib/golink/template/dbase.rb
165
+ - lib/golink/template/error_page.rb
166
+ - lib/golink/template/gemfile.rb
167
+ - lib/golink/template/index_md.rb
168
+ - lib/golink/template/utils.rb
169
+ - lib/golink/version.rb
170
+ homepage: http://github.com/williamcanin/golink
171
+ licenses:
172
+ - MIT
173
+ metadata: {}
174
+ post_install_message:
175
+ rdoc_options: []
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 2.0.0
183
+ required_rubygems_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ requirements: []
189
+ rubyforge_project:
190
+ rubygems_version: 2.6.8
191
+ signing_key:
192
+ specification_version: 4
193
+ summary: A minimalist theme for Jekyll, to redirect links to his social network and
194
+ contact.
195
+ test_files: []