syclink 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +2 -0
  5. data/Gemfile.lock +33 -0
  6. data/LICENSE +21 -0
  7. data/README.md +191 -0
  8. data/README.rdoc +9 -0
  9. data/Rakefile +5 -0
  10. data/bin/syclink +290 -0
  11. data/doc/Gemfile.html +109 -0
  12. data/doc/Gemfile_lock.html +147 -0
  13. data/doc/LICENSE.html +129 -0
  14. data/doc/Object.html +188 -0
  15. data/doc/README_md.html +322 -0
  16. data/doc/README_rdoc.html +171 -0
  17. data/doc/SycLink/Designer.html +560 -0
  18. data/doc/SycLink/Exporter.html +149 -0
  19. data/doc/SycLink/Formatter.html +416 -0
  20. data/doc/SycLink/Infrastructure.html +297 -0
  21. data/doc/SycLink/Link.html +296 -0
  22. data/doc/SycLink/Website.html +428 -0
  23. data/doc/SycLink.html +127 -0
  24. data/doc/created.rid +31 -0
  25. data/doc/css/fonts.css +167 -0
  26. data/doc/css/rdoc.css +590 -0
  27. data/doc/fonts/Lato-Light.ttf +0 -0
  28. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  29. data/doc/fonts/Lato-Regular.ttf +0 -0
  30. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  31. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  32. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  33. data/doc/images/add.png +0 -0
  34. data/doc/images/arrow_up.png +0 -0
  35. data/doc/images/brick.png +0 -0
  36. data/doc/images/brick_link.png +0 -0
  37. data/doc/images/bug.png +0 -0
  38. data/doc/images/bullet_black.png +0 -0
  39. data/doc/images/bullet_toggle_minus.png +0 -0
  40. data/doc/images/bullet_toggle_plus.png +0 -0
  41. data/doc/images/date.png +0 -0
  42. data/doc/images/delete.png +0 -0
  43. data/doc/images/find.png +0 -0
  44. data/doc/images/loadingAnimation.gif +0 -0
  45. data/doc/images/macFFBgHack.png +0 -0
  46. data/doc/images/package.png +0 -0
  47. data/doc/images/page_green.png +0 -0
  48. data/doc/images/page_white_text.png +0 -0
  49. data/doc/images/page_white_width.png +0 -0
  50. data/doc/images/plugin.png +0 -0
  51. data/doc/images/ruby.png +0 -0
  52. data/doc/images/tag_blue.png +0 -0
  53. data/doc/images/tag_green.png +0 -0
  54. data/doc/images/transparent.png +0 -0
  55. data/doc/images/wrench.png +0 -0
  56. data/doc/images/wrench_orange.png +0 -0
  57. data/doc/images/zoom.png +0 -0
  58. data/doc/index.html +131 -0
  59. data/doc/js/darkfish.js +161 -0
  60. data/doc/js/jquery.js +4 -0
  61. data/doc/js/navigation.js +142 -0
  62. data/doc/js/navigation.js.gz +0 -0
  63. data/doc/js/search.js +109 -0
  64. data/doc/js/search_index.js +1 -0
  65. data/doc/js/search_index.js.gz +0 -0
  66. data/doc/js/searcher.js +228 -0
  67. data/doc/js/searcher.js.gz +0 -0
  68. data/doc/links_csv.html +113 -0
  69. data/doc/setup_md.html +192 -0
  70. data/doc/syclink_gemspec.html +133 -0
  71. data/doc/syclink_rdoc.html +154 -0
  72. data/doc/table_of_contents.html +336 -0
  73. data/doc/templates/example_html.html +399 -0
  74. data/doc/templates/links.html +116 -0
  75. data/doc/templates/stylesheets/style_css.html +170 -0
  76. data/doc/templates/stylesheets/style_css_map.html +111 -0
  77. data/doc/templates/stylesheets/style_css_scss.html +198 -0
  78. data/doc/templates/syc-link_html.html +235 -0
  79. data/lib/syclink/designer.rb +97 -0
  80. data/lib/syclink/designer_example.rb +9 -0
  81. data/lib/syclink/exporter.rb +17 -0
  82. data/lib/syclink/formatter.rb +70 -0
  83. data/lib/syclink/infrastructure.rb +44 -0
  84. data/lib/syclink/link.rb +62 -0
  85. data/lib/syclink/version.rb +7 -0
  86. data/lib/syclink/website.rb +62 -0
  87. data/lib/syclink/website_example.rb +68 -0
  88. data/lib/syclink.rb +7 -0
  89. data/setup.md +92 -0
  90. data/spec/syclink/designer_spec.rb +100 -0
  91. data/spec/syclink/link_spec.rb +47 -0
  92. data/spec/syclink/website_spec.rb +75 -0
  93. data/syclink.gemspec +23 -0
  94. data/syclink.rdoc +39 -0
  95. data/templates/links +4 -0
  96. data/templates/stylesheets/style.css +55 -0
  97. data/templates/stylesheets/style.css.map +7 -0
  98. data/templates/stylesheets/style.css.scss +76 -0
  99. data/templates/syc-link.html +123 -0
  100. data/templates/syclink.html.erb +63 -0
  101. metadata +193 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 42124dedde2e500e40f48c650c8a785f4b0cbf1b
4
+ data.tar.gz: a29891c66efb0c567db21fcbd5b2d555df36e282
5
+ SHA512:
6
+ metadata.gz: 1d3cfd10b1c918ff281e7cbe41c03ed1ce4856bf7427c4d09b40f137492be568327e763b3e0a168c99f13f8054147697547892f8c834c7f93495d23bad6b0b0b
7
+ data.tar.gz: 7d14080d1fb40568bd6c0c4e8f79b3ac4dcd6d0eb8ef327a595b2b25de45ef934b1a453b2ea7a9a7b1aab115ec3c4721541b9e40d078667feccd6773723350c8
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ templates/example.html
2
+ .sass-cache
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,33 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ syclink (0.0.1)
5
+ gli (= 2.13.1)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ diff-lcs (1.2.5)
11
+ gli (2.13.1)
12
+ rspec (3.3.0)
13
+ rspec-core (~> 3.3.0)
14
+ rspec-expectations (~> 3.3.0)
15
+ rspec-mocks (~> 3.3.0)
16
+ rspec-core (3.3.1)
17
+ rspec-support (~> 3.3.0)
18
+ rspec-expectations (3.3.0)
19
+ diff-lcs (>= 1.2.0, < 2.0)
20
+ rspec-support (~> 3.3.0)
21
+ rspec-mocks (3.3.1)
22
+ diff-lcs (>= 1.2.0, < 2.0)
23
+ rspec-support (~> 3.3.0)
24
+ rspec-support (3.3.0)
25
+ sass (3.4.15)
26
+
27
+ PLATFORMS
28
+ ruby
29
+
30
+ DEPENDENCIES
31
+ rspec
32
+ sass
33
+ syclink!
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 sugaryourcoffee
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,191 @@
1
+ syclink
2
+ =======
3
+ _syclink_ is a comand line application to create a website with a link
4
+ collection. _syclink_ allows to add, update and delete links.
5
+
6
+ Installation
7
+ ============
8
+ The application is installed with _RubyGems_
9
+
10
+ $ gem install syclink
11
+
12
+ Command Line Interface
13
+ ======================
14
+ _syclink_ comes with a default website template and a CSS file. This can be
15
+ adjusted to your convenience.
16
+
17
+ Templates
18
+ ---------
19
+ The templates are located in ~/.syc/syclink/templates and can be adjusted or
20
+ completely replaced.
21
+
22
+ Command Line
23
+ ------------
24
+ Following list comprises the commands available
25
+
26
+ _Website commands_
27
+ * website show - show all websites or search for websites
28
+ * website remove - Remove website
29
+ * website create - Create a HTML representation of the website
30
+
31
+ _Link commands_
32
+ * add - Add a link
33
+ * file - Add links from a file
34
+ * update - Update a link
35
+ * delete - Delete a link
36
+ * list - List all links with an optional filter
37
+ * find - Find links based on a search string
38
+
39
+ Commands
40
+ ========
41
+ Following the commands and how to use them is explained based on examples.
42
+
43
+ Create a website
44
+ ----------------
45
+ A website is send to syclink with the global `-w` flag. If the website does not
46
+ exist yet the user is asked whether to create it and whether to set it as the
47
+ default website. This is done with commands that require a website to operate
48
+ on.
49
+
50
+ $ syclink -w my-new-website add "http://example.com"
51
+
52
+ Before the command `add` is executed the website is created. In this
53
+ case a website called 'my-new-website' is created in the default directory at
54
+ `~/.syc/syclink/websites/my-new-website.website
55
+
56
+ Commands that require a website are `add`, `update`, `delete`, `list`, `find`
57
+ and `website create`.
58
+
59
+ If no website is specified the default website is used.
60
+
61
+ Add a link
62
+ ----------
63
+ A link may have a title, a description and a tag. Title, description and tag
64
+ are optional but a link obviously has to be provided. If no title is given the
65
+ link is used as the title.
66
+
67
+ $ syclink add --title "Test page" --tag TEST \
68
+ --description 'For testing purposes' http://example.com
69
+
70
+ It is also possible to add links from a file
71
+
72
+ $ syclink file file-with-links
73
+
74
+ Update a link
75
+ -------------
76
+ To update a link the URL has to be specified. If more than one link has the
77
+ same URL only the first link is updated.
78
+
79
+ $ syclink update --title "Example" http://example.com
80
+
81
+ Remove a Link
82
+ -------------
83
+ To remove one or more links the URLs have to be provided.
84
+
85
+ $ syclink delete http://example.com,http://challenge.com
86
+
87
+ List links
88
+ ----------
89
+ Links can be selected based on a filter. If no filter is given all links are
90
+ listed. It is possible to specify the columns to print. Possible columns are
91
+ `url`, `name`, `description` and `tag`.
92
+
93
+ $ syclink list --tag TEST --columns 'url,description'
94
+
95
+ url | description
96
+ -------------------+---------------------
97
+ http://example.com | For testing purposes
98
+
99
+ Find links
100
+ ----------
101
+ It is also possible to search for links based on a search string. The find
102
+ command searches all attributes of the links and is searching for the occurance
103
+ of the search string within the attributes. So the search is not list only
104
+ exact matches.
105
+
106
+ $ syclink find --columns 'url,tag' 'example'
107
+
108
+ url | tag
109
+ -------------------+-----
110
+ http://example.com | TEST
111
+
112
+ List websites
113
+ -------------
114
+ The websites are saved to `~/.syc/syclink/websites/` and the html
115
+ representations are saved to `~/.syc/syclink/html/`. When listing websites
116
+ both _webstites_ and _html_ files are listed.
117
+
118
+ The following command will list all websites
119
+
120
+ $ syclink website list
121
+
122
+ To list websites based on a search string the search string has to be send to
123
+ the list command
124
+
125
+ $ syclink website list "example"
126
+
127
+ If the `--exact` switch is given the command is only listing exact matches of
128
+ the search string
129
+
130
+ $ syclink website list -e "http://example.com"
131
+
132
+ Remove websites
133
+ ---------------
134
+ Websites and their html representations can be deleted based on a filter string.
135
+ To delete all websites and respective html representation the filter string
136
+ '\*' can be provided
137
+
138
+ $ syclink website remove "*"
139
+
140
+ About to delete:
141
+
142
+ Websites
143
+ --------
144
+ /home/user/.syc/syclink/website/example.website
145
+
146
+ HTML-Files
147
+ ----------
148
+ /home/user/.syc/syclink/html/example.html
149
+
150
+ Delete websites and corresponding html files (y/n)?
151
+
152
+ Other exmamples of filter strings are `*mple` which will find `example` as well
153
+ as `ex*`.
154
+
155
+ Make a html representation of the website
156
+ -----------------------------------------
157
+ The ultimate command is `website create` which will create the html
158
+ representation of the website.
159
+
160
+ The html file is created based on an erb file located in
161
+ `~/.syc/syclink/templates/syclink.html.erb`. This can be adjusted to your
162
+ convenience. The methods that can be used can be looked up in
163
+ `lib/syctask/website.rb`.
164
+
165
+ The html file will search for a css file in the directory `stylesheets` which
166
+ is relative to the html file. The stylesheet is named `styles.css`. It is
167
+ possible to change it or replace it entirely. If the stylesheet's name is
168
+ changed this also has to be done in `~/.syc/syclink/templates/syclink.html.erb`.
169
+
170
+ There is also a _scss_ file which needs to be compiled to _css_ with _sass_
171
+ like so
172
+
173
+ $ sass ~/.syc/syclink/html/stylesheets/styles.css.scss:\
174
+ ~/.syc/syclink/html/stylesheets/styles.css
175
+
176
+ Warning: If the _css_ file has been changed all changes will be overridden by
177
+ _sass_.
178
+
179
+ Workflow
180
+ ========
181
+ To create a website the steps are as follows
182
+
183
+ * add links to a website
184
+ * create the html representation
185
+
186
+ Following is showing the above sequence in commands
187
+
188
+ $ syclink -w example add "http://example.com" --tag EXAMPLE
189
+ $ syclink add "http://github.com" --tag DEVELOPMENT
190
+ $ syclink website create
191
+
data/README.rdoc ADDED
@@ -0,0 +1,9 @@
1
+ = syclink
2
+
3
+ syclink can be used to create link list and turn them into an html
4
+ representation.
5
+
6
+ Detailed information about the usage can be found at link:README.md
7
+
8
+ :include:syclink.rdoc
9
+
data/Rakefile ADDED
@@ -0,0 +1,5 @@
1
+ require 'rubygems/package_task'
2
+ spec = eval(File.read('syclink.gemspec'))
3
+
4
+ Gem::PackageTask.new(spec) do |pkg|
5
+ end
data/bin/syclink ADDED
@@ -0,0 +1,290 @@
1
+ #!/usr/bin/env ruby
2
+ require 'gli'
3
+ begin # XXX: Remove this begin/rescue before distributing your app
4
+ require 'syclink'
5
+ rescue LoadError
6
+ STDERR.puts "In development, you need to use `bundle exec bin/syclink` to run your app"
7
+ STDERR.puts "At install-time, RubyGems will make sure lib, etc. are in the load path"
8
+ STDERR.puts "Feel free to remove this message from bin/syclink now"
9
+ exit 64
10
+ end
11
+
12
+ include GLI::App
13
+ include SycLink::Infrastructure
14
+ include SycLink::Formatter
15
+
16
+ # Commands that need to have a website and a designer object
17
+ WEBSITE_COMMANDS = [ :create, :add, :file, :update, :delete, :list, :find ]
18
+
19
+ # syclink's configuration directory
20
+ syclink_directory = File.expand_path("~/.syc/syclink")
21
+ # syclink's configuration file
22
+ syclink_file = File.join(syclink_directory, "syclink.rc")
23
+ # syclink's template directory
24
+ syclink_template_directory = File.join(syclink_directory, "templates/")
25
+ # syclink's html template"
26
+ syclink_html_template = File.join(syclink_template_directory,
27
+ "syclink.html.erb")
28
+ # syclink's website directory
29
+ syclink_website_directory = File.join(syclink_directory, "website/")
30
+ # syclink's html directory
31
+ syclink_html_directory = File.join(syclink_directory, "html/")
32
+ # syclink's stylesheet directory
33
+ syclink_stylesheets_directory = File.join(syclink_html_directory,
34
+ "stylesheets/")
35
+
36
+ create_directory_if_missing(syclink_directory)
37
+
38
+ create_directory_if_missing(syclink_template_directory)
39
+ copy_file_if_missing(File.join(File.dirname(__FILE__),
40
+ '../templates/syclink.html.erb'),
41
+ syclink_template_directory)
42
+
43
+ create_directory_if_missing(syclink_website_directory)
44
+
45
+ create_directory_if_missing(syclink_html_directory)
46
+
47
+ create_directory_if_missing(syclink_stylesheets_directory)
48
+ copy_file_if_missing(File.join(File.dirname(__FILE__),
49
+ '../templates/stylesheets/style.css'),
50
+ syclink_stylesheets_directory)
51
+ copy_file_if_missing(File.join(File.dirname(__FILE__),
52
+ '../templates/stylesheets/style.css.scss'),
53
+ syclink_stylesheets_directory)
54
+
55
+ config = load_config(syclink_file)
56
+
57
+ program_desc 'Create a link list and display it as an html page'
58
+
59
+ version SycLink::VERSION
60
+
61
+ subcommand_option_handling :normal
62
+ arguments :strict
63
+
64
+ desc 'Website to operate on'
65
+ arg_name 'WEBSITE'
66
+ flag [:w,:website]
67
+
68
+ desc 'Add a link to the website'
69
+ arg_name 'URL'
70
+ command :add do |c|
71
+
72
+ c.desc 'Name of the link'
73
+ c.arg_name 'NAME'
74
+ c.flag [:n, :name]
75
+
76
+ c.desc 'Description of the link'
77
+ c.arg_name 'DESCRIPTION'
78
+ c.flag [:d, :description]
79
+
80
+ c.desc 'Tag the link is associated to'
81
+ c.arg_name 'TAG'
82
+ c.flag [:t, :tag]
83
+
84
+ c.action do |global_options,options,args|
85
+
86
+ @designer.add_link(args[0], options)
87
+
88
+ end
89
+ end
90
+
91
+ desc 'Add links from a file to the website'
92
+ arg_name 'FILE'
93
+ command :file do |c|
94
+
95
+ c.action do |global_options,options,args|
96
+
97
+ @designer.add_links_from_file(args[0])
98
+
99
+ end
100
+ end
101
+
102
+ desc 'Update a link'
103
+ arg_name 'URL'
104
+ command :update do |c|
105
+
106
+ c.desc 'Name of the link'
107
+ c.arg_name 'NAME'
108
+ c.flag [:n, :name]
109
+
110
+ c.desc 'Description of the link'
111
+ c.arg_name 'DESCRIPTION'
112
+ c.flag [:d, :description]
113
+
114
+ c.desc 'Tag the link is associated to'
115
+ c.arg_name 'TAG'
116
+ c.flag [:t, :tag]
117
+
118
+ c.action do |global_options,options,args|
119
+
120
+ @designer.update_link(args[0], options)
121
+
122
+ end
123
+ end
124
+
125
+ desc 'Find a link'
126
+ arg_name 'FIND_STRING'
127
+ command :find do |c|
128
+
129
+ c.desc 'Table columns to print'
130
+ c.default_value 'url, name, description, tag'
131
+ c.arg_name 'URL, NAME, DESCRIPTION, TAG'
132
+ c.flag [:c, :columns]
133
+
134
+ c.action do |global_options,options,args|
135
+
136
+ print_links(@designer.find_links(args[0].downcase), options[:c])
137
+
138
+ end
139
+ end
140
+
141
+ desc 'Remove one or more links'
142
+ arg_name 'URL[URL,URL]'
143
+ command :delete do |c|
144
+ c.action do |global_options,options,args|
145
+ @designer.remove_links(args)
146
+ end
147
+ end
148
+
149
+ desc 'List and optionally filter links'
150
+ command :list do |c|
151
+
152
+ c.desc 'Link\'s URL'
153
+ c.arg_name 'URL'
154
+ c.flag [:u, :url]
155
+
156
+ c.desc 'Name of the link'
157
+ c.arg_name 'NAME'
158
+ c.flag [:n, :name]
159
+
160
+ c.desc 'Description of the link'
161
+ c.arg_name 'DESCRIPTION'
162
+ c.flag [:d, :description]
163
+
164
+ c.desc 'Tag the link is associated to'
165
+ c.arg_name 'TAG'
166
+ c.flag [:t, :tag]
167
+
168
+ c.desc 'Table columns to print'
169
+ c.default_value 'url, name, description, tag'
170
+ c.arg_name 'URL, NAME, DESCRIPTION, TAG'
171
+ c.flag [:c, :columns]
172
+
173
+ c.action do |global_options,options,args|
174
+
175
+ print_links(@designer.list_links(options), options[:c])
176
+
177
+ end
178
+ end
179
+
180
+ desc "Operate on websites"
181
+ command :website do |c|
182
+ c.desc 'Show all websites or search for websites'
183
+ c.arg_name 'WEBSITE'
184
+ c.skips_pre
185
+ c.skips_post
186
+ c.command :show do |s|
187
+
188
+ s.desc 'Show only the exactly matching website'
189
+ s.switch [:e, :exact]
190
+
191
+ s.action do |global_options,options,args|
192
+ if options[:e]
193
+ puts Dir.glob(yaml_file(syclink_website_directory, args[0]))
194
+ else
195
+ puts Dir.glob(File.join(syclink_website_directory, "*.website"))
196
+ end
197
+ end
198
+ end
199
+
200
+ c.desc 'Remove one or more websites'
201
+ c.arg_name 'WEBSITE_PATTERN'
202
+ c.skips_pre
203
+ c.skips_post
204
+ c.command :remove do |s|
205
+ s.action do |global_options,options,args|
206
+ websites = Dir.glob(File.join(syclink_website_directory,
207
+ "#{args[0]}.website"))
208
+ html_files = Dir.glob(File.join(syclink_html_directory,
209
+ "#{args[0]}.html"))
210
+ puts "About to delete:"
211
+ puts; puts "Websites"
212
+ puts "--------"
213
+ puts websites
214
+ puts; puts "HTML-Files"
215
+ puts "----------"
216
+ puts html_files
217
+ puts; print "Delete websites and corresponding html files (y/n)? "
218
+ if STDIN.gets.chomp =~ /y/i
219
+ websites.each { |website| FileUtils.rm website }
220
+ html_files.each { |html_file| FileUtils.rm html_file }
221
+ end
222
+ end
223
+ end
224
+
225
+ c.desc 'Create html representation of website'
226
+ c.command [:create] do |s|
227
+ s.action do |global_options,options,args|
228
+ @designer.create_website(syclink_html_directory, syclink_html_template)
229
+ end
230
+ end
231
+
232
+ c.default_command :create
233
+ end
234
+
235
+ pre do |global,command,options,args|
236
+
237
+ if WEBSITE_COMMANDS.include?(command.name)
238
+ @designer = SycLink::Designer.new
239
+ global[:website] ||= config[:default_website]
240
+
241
+ if File.exists? yaml_file(syclink_website_directory, global[:website])
242
+ @designer.load_website(yaml_file(syclink_website_directory,
243
+ global[:website]))
244
+ else
245
+ print "Website #{global[:website]} doesn't exist. Create it (y/n)? "
246
+ if STDIN.gets.chomp =~ /y/i
247
+ puts; puts "Creating #{global[:website]}"
248
+ @designer.new_website(global[:website])
249
+ else
250
+ exit(0)
251
+ end
252
+
253
+ if (global[:website] != config[:default_website])
254
+ print "Want to make #{global[:website]} the default (y/n)? "
255
+ if STDIN.gets.chomp =~ /y/i
256
+ puts; puts "Making #{global[:website]} the default website"
257
+ File.open(syclink_file, 'w') do |f|
258
+ YAML.dump({ default_website: global[:website] }, f)
259
+ end
260
+ end
261
+ end
262
+
263
+ end
264
+
265
+ end
266
+
267
+ true
268
+ end
269
+
270
+ post do |global,command,options,args|
271
+ if WEBSITE_COMMANDS.include? command.name
272
+ @designer.save_website(syclink_website_directory)
273
+ end
274
+ end
275
+
276
+ on_error do |exception|
277
+ if exception.message == "exit"
278
+ false
279
+ else
280
+ true
281
+ end
282
+ end
283
+
284
+ def print_links(links, columns)
285
+ allowed_cols = %w{ url name description tag }
286
+ cols = columns.delete(' ').downcase.split(',') & allowed_cols
287
+ SycLink::Formatter.table(links, cols)
288
+ end
289
+
290
+ exit run(ARGV)
data/doc/Gemfile.html ADDED
@@ -0,0 +1,109 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>Gemfile - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ </script>
12
+
13
+ <script src="./js/jquery.js"></script>
14
+ <script src="./js/darkfish.js"></script>
15
+
16
+ <link href="./css/fonts.css" rel="stylesheet">
17
+ <link href="./css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" role="document" class="file">
22
+ <nav role="navigation">
23
+ <div id="project-navigation">
24
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
25
+ <h2>
26
+ <a href="./index.html" rel="home">Home</a>
27
+ </h2>
28
+
29
+ <div id="table-of-contents-navigation">
30
+ <a href="./table_of_contents.html#pages">Pages</a>
31
+ <a href="./table_of_contents.html#classes">Classes</a>
32
+ <a href="./table_of_contents.html#methods">Methods</a>
33
+ </div>
34
+ </div>
35
+
36
+ <div id="search-section" role="search" class="project-section initially-hidden">
37
+ <form action="#" method="get" accept-charset="utf-8">
38
+ <div id="search-field-wrapper">
39
+ <input id="search-field" role="combobox" aria-label="Search"
40
+ aria-autocomplete="list" aria-controls="search-results"
41
+ type="text" name="search" placeholder="Search" spellcheck="false"
42
+ title="Type to search, Up and Down to navigate, Enter to load">
43
+ </div>
44
+
45
+ <ul id="search-results" aria-label="Search Results"
46
+ aria-busy="false" aria-expanded="false"
47
+ aria-atomic="false" class="initially-hidden"></ul>
48
+ </form>
49
+ </div>
50
+
51
+ </div>
52
+
53
+
54
+
55
+ <div id="project-metadata">
56
+ <div id="fileindex-section" class="nav-section">
57
+ <h3>Pages</h3>
58
+
59
+ <ul class="link-list">
60
+
61
+ <li><a href="./Gemfile.html">Gemfile</a>
62
+
63
+ <li><a href="./Gemfile_lock.html">Gemfile.lock</a>
64
+
65
+ <li><a href="./LICENSE.html">LICENSE</a>
66
+
67
+ <li><a href="./README_md.html">README</a>
68
+
69
+ <li><a href="./README_rdoc.html">README</a>
70
+
71
+ <li><a href="./links_csv.html">links.csv</a>
72
+
73
+ <li><a href="./setup_md.html">setup</a>
74
+
75
+ <li><a href="./syclink_gemspec.html">syclink.gemspec</a>
76
+
77
+ <li><a href="./syclink_rdoc.html">syclink</a>
78
+
79
+ <li><a href="./templates/example_html.html">example.html</a>
80
+
81
+ <li><a href="./templates/links.html">links</a>
82
+
83
+ <li><a href="./templates/stylesheets/style_css.html">style.css</a>
84
+
85
+ <li><a href="./templates/stylesheets/style_css_map.html">style.css.map</a>
86
+
87
+ <li><a href="./templates/stylesheets/style_css_scss.html">style.css.scss</a>
88
+
89
+ <li><a href="./templates/syc-link_html.html">syc-link.html</a>
90
+
91
+ </ul>
92
+ </div>
93
+
94
+ </div>
95
+ </nav>
96
+
97
+ <main role="main" aria-label="Page Gemfile">
98
+
99
+ <p>source &#39;<a href="https://rubygems.org">rubygems.org</a>&#39; gemspec</p>
100
+ </main>
101
+
102
+
103
+
104
+ <footer id="validator-badges" role="contentinfo">
105
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
106
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
107
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
108
+ </footer>
109
+