photish 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -0
- data/README.md +24 -1
- data/Rakefile +33 -1
- data/TODO.md +5 -5
- data/exe/photish +10 -2
- data/lib/photish/cli/interface.rb +28 -0
- data/lib/photish/command/{generation.rb → generate.rb} +9 -5
- data/lib/photish/command/host.rb +50 -7
- data/lib/photish/command/init.rb +8 -4
- data/lib/photish/gallery/traits/breadcrumbable.rb +1 -1
- data/lib/photish/log/logger.rb +56 -48
- data/lib/photish/rake/task.rb +32 -0
- data/lib/photish/version.rb +1 -1
- data/photish.gemspec +1 -1
- metadata +18 -17
- data/lib/photish/cli.rb +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4815953c918957b9276b9f71f6ad4e296a8c4120
|
4
|
+
data.tar.gz: 27900c1a28826e6e1c69ec35c4c67388b6638347
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8941c122835aed8ffc2dac6c0f0b1f3c1f6b286ec0c9a020df21c252db438a9c9905fe9ef2b5ae8382674abb35810aa95f23ec7038bf8f2a27f50b7026aed7ba
|
7
|
+
data.tar.gz: 953ba2db9319f21c7dee454c8ddb63da089838d36737c6c459f8c2313e099db5253bb63cb56aaaba9d2b82a8bd7b9a59205ae2da99dc2fc76adbdf89318d192b
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -56,6 +56,7 @@ and running:
|
|
56
56
|
- [Generate](#generate)
|
57
57
|
- [Execution Order](#execution-order)
|
58
58
|
- [Host](#host)
|
59
|
+
- [Rake Task](#rake-task)
|
59
60
|
- [Development](#development)
|
60
61
|
- [Contributing](#contributing)
|
61
62
|
- [License](#license)
|
@@ -412,7 +413,29 @@ server to serve the HTML files:
|
|
412
413
|
|
413
414
|
$ photish host
|
414
415
|
|
415
|
-
The local version of your website will be visible at
|
416
|
+
The local version of your website will be visible at
|
417
|
+
[http://localhost:9876/](http://localhost:9876/).
|
418
|
+
|
419
|
+
The Host command will also automatically regenerate the website on startup and
|
420
|
+
when a file is added, removed or modified in the `photo_dir` or `site_dir`.
|
421
|
+
|
422
|
+
### Rake Task
|
423
|
+
|
424
|
+
If you would prefer to use Photish as a task in
|
425
|
+
[Rake](http://rake.rubyforge.org/). A helper class is available to create
|
426
|
+
custom rake tasks that call Photish. The helper class is defined in
|
427
|
+
[Photish::Rake::Task](https://github.com/henrylawson/photish/blob/master/lib/photish/rake/task.rb).
|
428
|
+
|
429
|
+
In your Rakefile, simply add the following to wrap the generate command:
|
430
|
+
|
431
|
+
```ruby
|
432
|
+
Photish::Rake::Task.new(:generate, 'Compiles the project to HTML') do |t|
|
433
|
+
t.options = "generate"
|
434
|
+
end
|
435
|
+
```
|
436
|
+
|
437
|
+
The above code will define a rake task called `generate` which can be ran
|
438
|
+
by using `rake generate`. It is the equivalent of `photish generate`.
|
416
439
|
|
417
440
|
## Development
|
418
441
|
|
data/Rakefile
CHANGED
@@ -2,6 +2,7 @@ require "bundler/gem_tasks"
|
|
2
2
|
require "rspec/core/rake_task"
|
3
3
|
require 'cucumber'
|
4
4
|
require 'cucumber/rake/task'
|
5
|
+
require 'photish/rake/task'
|
5
6
|
|
6
7
|
RSpec::Core::RakeTask.new(:spec)
|
7
8
|
|
@@ -9,4 +10,35 @@ Cucumber::Rake::Task.new(:features) do |t|
|
|
9
10
|
t.cucumber_opts = "features --format pretty"
|
10
11
|
end
|
11
12
|
|
12
|
-
|
13
|
+
desc 'Gather code climate results'
|
14
|
+
task :gather_coverage do
|
15
|
+
require 'simplecov'
|
16
|
+
require 'codeclimate-test-reporter'
|
17
|
+
CodeClimate::TestReporter::Formatter.new.format(SimpleCov.result)
|
18
|
+
end
|
19
|
+
|
20
|
+
desc 'Clean output folders'
|
21
|
+
task :clean do
|
22
|
+
FileUtils.rm_rf('coverage')
|
23
|
+
end
|
24
|
+
|
25
|
+
task :default => [:clean,
|
26
|
+
:spec,
|
27
|
+
:features,
|
28
|
+
:gather_coverage]
|
29
|
+
|
30
|
+
namespace :photish do
|
31
|
+
Photish::Rake::Task.new(:init, 'Creates a basic project') do |t|
|
32
|
+
t.options = "init"
|
33
|
+
end
|
34
|
+
|
35
|
+
Photish::Rake::Task.new(:generate, 'Generates all the code') do |t|
|
36
|
+
t.options = "generate"
|
37
|
+
end
|
38
|
+
|
39
|
+
Photish::Rake::Task.new(:host, 'Starts a HTTP and hosts the code') do |t|
|
40
|
+
t.options = "host"
|
41
|
+
end
|
42
|
+
|
43
|
+
task :all => [:init, :generate, :host]
|
44
|
+
end
|
data/TODO.md
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
## Backlog
|
6
6
|
|
7
7
|
1. Custom user created helpers in templates
|
8
|
-
1. RDoc documentation for classes
|
9
|
-
1. A Rakefile task for each of the commands
|
10
8
|
1. A `deploy` command as a gem to deploy to github pages, netlify, amazon s3
|
11
|
-
1. Monitor for file changes and regenerate for `host` command
|
12
9
|
1. URL customization, relative, absolute with or without hostname URLs (for
|
13
10
|
different host envs)
|
11
|
+
1. Custom template rendering outside of `_templates` folder
|
14
12
|
1. Proper asset pipeline for CSS
|
15
|
-
1.
|
16
|
-
|
13
|
+
1. A sitemap helper plugin for use in custom templates for example
|
14
|
+
`sitemap.xml`
|
17
15
|
1. Share on RubyWebToolkit, StaticGen, etc
|
16
|
+
1. RDoc documentation for classes
|
17
|
+
1. More intelligent regeneration based on changes
|
data/exe/photish
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
if ENV['COVERAGE']
|
3
|
+
require 'simplecov'
|
4
|
+
require 'codeclimate-test-reporter'
|
2
5
|
|
3
|
-
|
4
|
-
|
6
|
+
SimpleCov.command_name "photish-binary-#{Process.pid}"
|
7
|
+
SimpleCov.root(File.join(File.expand_path(File.dirname(__FILE__)), '..'))
|
8
|
+
SimpleCov.start CodeClimate::TestReporter.configuration.profile
|
9
|
+
end
|
10
|
+
|
11
|
+
require 'photish/cli/interface'
|
12
|
+
Photish::CLI::Interface.start
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'photish/command/generate'
|
3
|
+
require 'photish/command/host'
|
4
|
+
require 'photish/command/init'
|
5
|
+
|
6
|
+
module Photish
|
7
|
+
module CLI
|
8
|
+
class Interface < Thor
|
9
|
+
package_name "Photish"
|
10
|
+
|
11
|
+
desc "generate", "Generates the gallery static site"
|
12
|
+
def generate
|
13
|
+
Photish::Command::Generate.new(options).execute
|
14
|
+
end
|
15
|
+
|
16
|
+
desc "host", "Serves the HTML on a HTTP server"
|
17
|
+
def host
|
18
|
+
Photish::Command::Host.new(options).execute
|
19
|
+
end
|
20
|
+
|
21
|
+
desc "init", "Creates a basic Photish site sctructure"
|
22
|
+
def init
|
23
|
+
Photish::Command::Init.new(options).execute
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
@@ -5,15 +5,14 @@ require 'photish/render/site'
|
|
5
5
|
|
6
6
|
module Photish
|
7
7
|
module Command
|
8
|
-
class
|
8
|
+
class Generate
|
9
9
|
def initialize(runtime_config)
|
10
|
-
@
|
11
|
-
.config
|
10
|
+
@runtime_config = runtime_config
|
12
11
|
@log = Logging.logger[self]
|
13
12
|
end
|
14
13
|
|
15
14
|
def execute
|
16
|
-
Photish::Log::Logger.setup_logging(config)
|
15
|
+
Photish::Log::Logger.instance.setup_logging(config)
|
17
16
|
|
18
17
|
log_important_config_values
|
19
18
|
log_album_and_photo_names
|
@@ -23,9 +22,14 @@ module Photish
|
|
23
22
|
|
24
23
|
private
|
25
24
|
|
26
|
-
attr_reader :
|
25
|
+
attr_reader :runtime_config,
|
27
26
|
:log
|
28
27
|
|
28
|
+
def config
|
29
|
+
@config ||= Photish::Config::AppSettings.new(runtime_config)
|
30
|
+
.config
|
31
|
+
end
|
32
|
+
|
29
33
|
def log_important_config_values
|
30
34
|
log.info "Photo directory: #{photo_dir}"
|
31
35
|
log.info "Site directory: #{site_dir}"
|
data/lib/photish/command/host.rb
CHANGED
@@ -1,30 +1,44 @@
|
|
1
1
|
require 'photish/log/logger'
|
2
2
|
require 'photish/log/access_log'
|
3
3
|
require 'webrick'
|
4
|
+
require 'listen'
|
4
5
|
|
5
6
|
module Photish
|
6
7
|
module Command
|
7
8
|
class Host
|
8
9
|
def initialize(runtime_config)
|
9
|
-
@
|
10
|
-
.config
|
10
|
+
@runtime_config = runtime_config
|
11
11
|
@log = Logging.logger[self]
|
12
12
|
end
|
13
13
|
|
14
14
|
def execute
|
15
|
-
Photish::Log::Logger.setup_logging(config)
|
15
|
+
Photish::Log::Logger.instance.setup_logging(config)
|
16
16
|
|
17
|
-
trap 'INT' do server.shutdown end
|
18
17
|
log.info "Site will be running at http://0.0.0.0:#{port}/"
|
19
|
-
|
20
|
-
|
18
|
+
log.info "Monitoring paths #{paths_to_monitor}"
|
19
|
+
|
20
|
+
regenerate_entire_site
|
21
|
+
start_http_server_with_listener
|
21
22
|
end
|
22
23
|
|
23
24
|
private
|
24
25
|
|
25
|
-
attr_reader :
|
26
|
+
attr_reader :runtime_config,
|
26
27
|
:log
|
27
28
|
|
29
|
+
def start_http_server_with_listener
|
30
|
+
trap 'INT' do server.shutdown end
|
31
|
+
listener.start
|
32
|
+
server.start
|
33
|
+
listener.stop
|
34
|
+
log.info "Photish host has shutdown"
|
35
|
+
end
|
36
|
+
|
37
|
+
def config
|
38
|
+
@config ||= Photish::Config::AppSettings.new(runtime_config)
|
39
|
+
.config
|
40
|
+
end
|
41
|
+
|
28
42
|
def server
|
29
43
|
@server ||= WEBrick::HTTPServer.new(Port: port,
|
30
44
|
DocumentRoot: output_dir,
|
@@ -32,6 +46,21 @@ module Photish
|
|
32
46
|
Logger: log)
|
33
47
|
end
|
34
48
|
|
49
|
+
def listener
|
50
|
+
@listener ||= Listen.to(*paths_to_monitor) do |modified, added, removed|
|
51
|
+
log.info "File was modified #{modified}" if modified.present?
|
52
|
+
log.info "File was added #{added}" if added.present?
|
53
|
+
log.info "File was removed #{removed}" if removed.present?
|
54
|
+
|
55
|
+
regenerate_entire_site
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def paths_to_monitor
|
60
|
+
[site_dir,
|
61
|
+
photos_dir]
|
62
|
+
end
|
63
|
+
|
35
64
|
def access_log
|
36
65
|
[
|
37
66
|
[Photish::Log::AccessLog.new,
|
@@ -39,6 +68,12 @@ module Photish
|
|
39
68
|
]
|
40
69
|
end
|
41
70
|
|
71
|
+
def regenerate_entire_site
|
72
|
+
log.info "Regenerating site"
|
73
|
+
Photish::Command::Generate.new(runtime_config)
|
74
|
+
.execute
|
75
|
+
end
|
76
|
+
|
42
77
|
def port
|
43
78
|
config.val(:port)
|
44
79
|
end
|
@@ -46,6 +81,14 @@ module Photish
|
|
46
81
|
def output_dir
|
47
82
|
config.val(:output_dir)
|
48
83
|
end
|
84
|
+
|
85
|
+
def site_dir
|
86
|
+
config.val(:site_dir)
|
87
|
+
end
|
88
|
+
|
89
|
+
def photos_dir
|
90
|
+
config.val(:photo_dir)
|
91
|
+
end
|
49
92
|
end
|
50
93
|
end
|
51
94
|
end
|
data/lib/photish/command/init.rb
CHANGED
@@ -4,13 +4,12 @@ module Photish
|
|
4
4
|
module Command
|
5
5
|
class Init
|
6
6
|
def initialize(runtime_config)
|
7
|
-
@
|
8
|
-
.config
|
7
|
+
@runtime_config = runtime_config
|
9
8
|
@log = Logging.logger[self]
|
10
9
|
end
|
11
10
|
|
12
11
|
def execute
|
13
|
-
Photish::Log::Logger.setup_logging(config)
|
12
|
+
Photish::Log::Logger.instance.setup_logging(config)
|
14
13
|
|
15
14
|
FileUtils.cp_r(config_file, Dir.pwd)
|
16
15
|
FileUtils.cp_r(gitignore_file, File.join(Dir.pwd, '.gitignore'))
|
@@ -21,9 +20,14 @@ module Photish
|
|
21
20
|
|
22
21
|
private
|
23
22
|
|
24
|
-
attr_reader :
|
23
|
+
attr_reader :runtime_config,
|
25
24
|
:log
|
26
25
|
|
26
|
+
def config
|
27
|
+
@config ||= Photish::Config::AppSettings.new(runtime_config)
|
28
|
+
.config
|
29
|
+
end
|
30
|
+
|
27
31
|
def config_file
|
28
32
|
asset_path('config.yml')
|
29
33
|
end
|
@@ -6,7 +6,7 @@ module Photish
|
|
6
6
|
module Breadcrumbable
|
7
7
|
def breadcrumbs
|
8
8
|
doc = Nokogiri::HTML::DocumentFragment.parse("")
|
9
|
-
|
9
|
+
Nokogiri::HTML::Builder.with(doc) do |doc|
|
10
10
|
doc.ul(class: 'breadcrumbs') {
|
11
11
|
parents_and_me.each_with_index do |level, index|
|
12
12
|
doc.li(class: crumb_class(index)) {
|
data/lib/photish/log/logger.rb
CHANGED
@@ -2,64 +2,72 @@ require 'logging'
|
|
2
2
|
|
3
3
|
module Photish
|
4
4
|
module Log
|
5
|
-
|
6
|
-
|
7
|
-
def setup_logging(config)
|
8
|
-
setup_color_scheme if colorize?(config)
|
9
|
-
setup_stdout_output if output_to_stdout?(config)
|
10
|
-
setup_file_output if output_to_file?(config)
|
5
|
+
class Logger
|
6
|
+
include Singleton
|
11
7
|
|
12
|
-
|
13
|
-
end
|
8
|
+
attr_accessor :setup_complete
|
14
9
|
|
15
|
-
|
10
|
+
def initialize
|
11
|
+
@setup_complete = false
|
12
|
+
end
|
13
|
+
|
14
|
+
def setup_logging(config)
|
15
|
+
return if setup_complete
|
16
|
+
setup_color_scheme if colorize?(config)
|
17
|
+
setup_stdout_output if output_to_stdout?(config)
|
18
|
+
setup_file_output if output_to_file?(config)
|
16
19
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
+
Logging.logger.root.level = logging_level(config)
|
21
|
+
self.setup_complete = true
|
22
|
+
end
|
20
23
|
|
21
|
-
|
22
|
-
config.val(:logging)[:colorize]
|
23
|
-
end
|
24
|
+
private
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
def logging_level(config)
|
27
|
+
config.val(:logging)[:level].to_sym
|
28
|
+
end
|
28
29
|
|
29
|
-
|
30
|
-
|
31
|
-
|
30
|
+
def colorize?(config)
|
31
|
+
config.val(:logging)[:colorize]
|
32
|
+
end
|
32
33
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
},
|
41
|
-
date: :blue,
|
42
|
-
logger: :cyan,
|
43
|
-
message: :magenta
|
44
|
-
)
|
45
|
-
end
|
34
|
+
def output_to_stdout?(config)
|
35
|
+
config.val(:logging)[:output].include?('stdout')
|
36
|
+
end
|
37
|
+
|
38
|
+
def output_to_file?(config)
|
39
|
+
config.val(:logging)[:output].include?('file')
|
40
|
+
end
|
46
41
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
42
|
+
def setup_color_scheme
|
43
|
+
Logging.color_scheme('bright',
|
44
|
+
levels: {
|
45
|
+
info: :green,
|
46
|
+
warn: :yellow,
|
47
|
+
error: :red,
|
48
|
+
fatal: [:white, :on_red]
|
49
|
+
},
|
50
|
+
date: :blue,
|
51
|
+
logger: :cyan,
|
52
|
+
message: :magenta
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
def setup_stdout_output
|
57
|
+
Logging.appenders.stdout(
|
58
|
+
'stdout',
|
59
|
+
layout: Logging.layouts.pattern(
|
60
|
+
pattern: '[%d] %-5l %c: %m\n',
|
61
|
+
color_scheme: 'bright'
|
54
62
|
)
|
55
|
-
|
56
|
-
|
63
|
+
)
|
64
|
+
Logging.logger.root.add_appenders('stdout')
|
65
|
+
end
|
57
66
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
end
|
67
|
+
def setup_file_output
|
68
|
+
FileUtils.mkdir_p('log')
|
69
|
+
file_appender = Logging.appenders.file('log/photish.log')
|
70
|
+
Logging.logger.root.add_appenders(file_appender)
|
63
71
|
end
|
64
72
|
end
|
65
73
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'photish/cli/interface'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
module Photish
|
5
|
+
module Rake
|
6
|
+
class Task
|
7
|
+
include ::Rake::DSL if defined?(::Rake::DSL)
|
8
|
+
|
9
|
+
attr_accessor :options
|
10
|
+
|
11
|
+
def initialize(task_name = "photish", desc = "Run photish")
|
12
|
+
@task_name = task_name
|
13
|
+
@desc = desc
|
14
|
+
yield self if block_given?
|
15
|
+
define_task
|
16
|
+
end
|
17
|
+
|
18
|
+
def options=(opts)
|
19
|
+
@options = String === opts ? opts.split(' ') : opts
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def define_task
|
25
|
+
desc @desc
|
26
|
+
task @task_name do
|
27
|
+
Photish::CLI::Interface.start(options)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/photish/version.rb
CHANGED
data/photish.gemspec
CHANGED
@@ -33,12 +33,12 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_dependency "recursive-open-struct", "~> 0.6"
|
34
34
|
spec.add_dependency "nokogiri", "~> 1.6"
|
35
35
|
spec.add_dependency "logging", "~> 2.0"
|
36
|
+
spec.add_dependency "listen", "~> 3.0"
|
36
37
|
|
37
38
|
spec.add_development_dependency "bundler", "~> 1.10"
|
38
39
|
spec.add_development_dependency "rake", "~> 10.0"
|
39
40
|
spec.add_development_dependency "rspec"
|
40
41
|
spec.add_development_dependency "cucumber"
|
41
|
-
spec.add_development_dependency "aruba"
|
42
42
|
spec.add_development_dependency "pry"
|
43
43
|
spec.add_development_dependency "retriable"
|
44
44
|
spec.add_development_dependency "codeclimate-test-reporter"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: photish
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henry Lawson
|
@@ -165,49 +165,49 @@ dependencies:
|
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '2.0'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
168
|
+
name: listen
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
171
|
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
174
|
-
type: :
|
173
|
+
version: '3.0'
|
174
|
+
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
180
|
+
version: '3.0'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
|
-
name:
|
182
|
+
name: bundler
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
185
|
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: '10
|
187
|
+
version: '1.10'
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: '10
|
194
|
+
version: '1.10'
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
196
|
+
name: rake
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
|
-
- - "
|
199
|
+
- - "~>"
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version: '0'
|
201
|
+
version: '10.0'
|
202
202
|
type: :development
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
|
-
- - "
|
206
|
+
- - "~>"
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version: '0'
|
208
|
+
version: '10.0'
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
210
|
+
name: rspec
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
213
|
- - ">="
|
@@ -221,7 +221,7 @@ dependencies:
|
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '0'
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
|
-
name:
|
224
|
+
name: cucumber
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
227
|
- - ">="
|
@@ -334,8 +334,8 @@ files:
|
|
334
334
|
- lib/photish/assets/site/custom.html
|
335
335
|
- lib/photish/assets/site/images/crumbs.gif
|
336
336
|
- lib/photish/assets/site/styles/basic.css
|
337
|
-
- lib/photish/cli.rb
|
338
|
-
- lib/photish/command/
|
337
|
+
- lib/photish/cli/interface.rb
|
338
|
+
- lib/photish/command/generate.rb
|
339
339
|
- lib/photish/command/host.rb
|
340
340
|
- lib/photish/command/init.rb
|
341
341
|
- lib/photish/config/app_settings.rb
|
@@ -353,6 +353,7 @@ files:
|
|
353
353
|
- lib/photish/gallery/traits/urlable.rb
|
354
354
|
- lib/photish/log/access_log.rb
|
355
355
|
- lib/photish/log/logger.rb
|
356
|
+
- lib/photish/rake/task.rb
|
356
357
|
- lib/photish/render/image_conversion.rb
|
357
358
|
- lib/photish/render/page.rb
|
358
359
|
- lib/photish/render/site.rb
|
data/lib/photish/cli.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'thor'
|
2
|
-
require 'photish/command/generation'
|
3
|
-
require 'photish/command/host'
|
4
|
-
require 'photish/command/init'
|
5
|
-
|
6
|
-
module Photish
|
7
|
-
class CLI < Thor
|
8
|
-
package_name "Photish"
|
9
|
-
|
10
|
-
desc "generate", "Generates the gallery static site"
|
11
|
-
def generate
|
12
|
-
Command::Generation.new(options).execute
|
13
|
-
end
|
14
|
-
|
15
|
-
desc "host", "Serves the HTML on a HTTP server"
|
16
|
-
def host
|
17
|
-
Command::Host.new(options).execute
|
18
|
-
end
|
19
|
-
|
20
|
-
desc "init", "Creates a basic Photish site sctructure"
|
21
|
-
def init
|
22
|
-
Command::Init.new(options).execute
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|