komicless 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a52a360035a43612c93f476d426112d035945a32
4
- data.tar.gz: 7e0c901d70af3d1166d6c0dfbf9576cd3b3b9edc
3
+ metadata.gz: 11b132bd209123ae5d41bbff277316e691846d93
4
+ data.tar.gz: 3ee7acd4cf82820225519c4cec32df29a210f9c0
5
5
  SHA512:
6
- metadata.gz: 255815bae061831dd6cd1c3b8cfb6fc69434ff7d274488d6376bd46752ef389514b102891ad2c0ef12d91f107d09acf5066699646f6858ce835478f77977aed3
7
- data.tar.gz: 4e4f13c18dea4326151b280be31b26b74549281af63968a5aad675b048e0cb94b229600826a23e08686ec48740eca8b863110c7933a31d4aa1cfcd008e6e06f9
6
+ metadata.gz: 828a9d889b3d0e45eda0faa09bc9291b9b1787f98da6bdf1390741e2993a8635847d39df6ca631df6ebf6c0851311c529225dd23ce70580c2aa2d8c3525d778b
7
+ data.tar.gz: 9c6eefbe0b17b469f955a909505ab77c7d070ae3df5604eb815c3a865b017afe64c07dd8393eb3e731c639a88ad5ba403aa7988178a28b47444186118388cf6f
data/README.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # Komicless
2
2
 
3
- Komicless is an (alternative) server for [ComicGlass](http://comicglass.net/)
3
+ Komicless is an (alternative) server for [ComicGlass](http://comicglass.net/).
4
+ They already provides a Win server, a Mac server, and a PHP version.
5
+
6
+ This work should work with recent Ruby, without requiring root privilege and PHP.
7
+
8
+ # Limitations
9
+
10
+ - Unlike offical servers, Komicless only hosts one directory (not really a problem when we can symlink dirs).
11
+ - uPnP is not supported yet.
4
12
 
5
13
  ## Installation
6
14
 
@@ -8,7 +16,12 @@ Komicless is an (alternative) server for [ComicGlass](http://comicglass.net/)
8
16
 
9
17
  ## Usage
10
18
 
11
- TODO: Write usage instructions here
19
+ $ komicless --port=10080 --root=/files
20
+ Thin web server (v1.6.1 codename Death Proof)
21
+ Maximum connections set to 1024
22
+ Listening on 0.0.0.0:10080, CTRL+C to stop
23
+
24
+ The files can be downloaded in ComicGlass, after manually add a server.
12
25
 
13
26
  ## Contributing
14
27
 
@@ -17,3 +30,5 @@ TODO: Write usage instructions here
17
30
  3. Commit your changes (`git commit -am 'Add some feature'`)
18
31
  4. Push to the branch (`git push origin my-new-feature`)
19
32
  5. Create new Pull Request
33
+
34
+ BTW any good guy knows about uPnP?
data/komicless.gemspec CHANGED
@@ -20,6 +20,6 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
- spec.add_runtime_dependency "haml"
23
+ spec.add_runtime_dependency "thin"
24
24
  spec.add_runtime_dependency "rack"
25
25
  end
@@ -0,0 +1,24 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Komicless MediaServer</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6
+ </head>
7
+ <body>
8
+ <ul>
9
+ <% @files.each do |(url, basename, size, type, mtime)| %>
10
+ <li>
11
+ <% if type=="directory" %>
12
+ <a href="<%= url %>" >
13
+ <%= basename %>
14
+ </a>
15
+ <% else %>
16
+ <a href="<%= url %>" booktitle="<%= basename %>" booksize="<%= size %>" >
17
+ <%= basename %>
18
+ </a>
19
+ <% end %>
20
+ </li>
21
+ <% end %>
22
+ </ul>
23
+ </body>
24
+ </html>
@@ -1,10 +1,10 @@
1
1
  require 'rack'
2
- require 'haml'
2
+ require 'erb'
3
3
 
4
4
  module Komicless
5
5
 
6
- INDEX_HAML = open( File.expand_path "index.haml", File.dirname(__FILE__) ).read.freeze
7
- INDEX = ::Haml::Engine.new INDEX_HAML, { :attr_wrapper => '"' } # or there will be ' in filenames
6
+ INDEX_ERB = open( File.expand_path "index.html.erb", File.dirname(__FILE__) ).read.freeze
7
+ INDEX = ::ERB.new INDEX_ERB
8
8
 
9
9
  class Server < ::Rack::Directory
10
10
 
@@ -21,9 +21,11 @@ module Komicless
21
21
  int
22
22
  end
23
23
 
24
- # render with our HAML template
24
+ # render with our template
25
25
  def each
26
- page = INDEX.render(scope=Object.new, locals={ :files => @files } )
26
+ page = INDEX.result binding
27
+ # strip space. This regex from http://stackoverflow.com/a/8828408/327815
28
+ page.gsub!(%r%(?<=[\^])\t{2,}|(?<=[>])\s{2,}(?=[<])|(?<=[>])\s{2,11}(?=[<])|(?=[\n])\s{2,}%,"")
27
29
  page.each_line{|l| yield l }
28
30
  end
29
31
 
@@ -1,3 +1,3 @@
1
1
  module Komicless
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: komicless
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wang Guan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-09 00:00:00.000000000 Z
11
+ date: 2013-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: haml
42
+ name: thin
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -83,6 +83,7 @@ files:
83
83
  - komicless.gemspec
84
84
  - lib/komicless.rb
85
85
  - lib/komicless/index.haml
86
+ - lib/komicless/index.html.erb
86
87
  - lib/komicless/server.rb
87
88
  - lib/komicless/version.rb
88
89
  homepage: https://github.com/Jokester/Komicless