markita 1.0.210828 → 3.0.210912

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.
@@ -19,13 +19,15 @@ class Base
19
19
  basename = File.basename(path, '.*')
20
20
  text << "* [#{basename}](#{path})\n"
21
21
  end
22
- text << "\n![Favicon](/favicon.ico)\n" if defined? Favicon
22
+ if defined? Favicon and Favicon::ICO
23
+ text << "\n![Favicon](/favicon.ico)\n"
24
+ end
23
25
  text
24
26
  end
25
27
  end
26
28
 
27
29
  get '/about.html' do
28
- Base.page('about') { markdown About.page}
30
+ Markdown.new('About').markdown About.page
29
31
  end
30
32
  end
31
33
  end
@@ -0,0 +1,30 @@
1
+ module Markita
2
+ class Preprocess
3
+ def initialize(file)
4
+ @file = (file.is_a? String)? StringIO.new(file) : file
5
+ @regx = @template = nil
6
+ end
7
+
8
+ def gets
9
+ if line = @file.gets
10
+ case line
11
+ when @regx
12
+ line = @template if @template
13
+ $~.named_captures.each do |name, value|
14
+ line = line.gsub("&#{name.downcase};", value)
15
+ line = line.gsub("&#{name.upcase};", CGI.escape(value))
16
+ end
17
+ when %r(^! regx = /(.*)/$)
18
+ @regx = Regexp.new $1
19
+ line = gets
20
+ when %r(^! template = "(.*)"$)
21
+ @template = $1+"\n"
22
+ line = gets
23
+ else
24
+ @regx &&= (@template=nil)
25
+ end
26
+ end
27
+ line
28
+ end
29
+ end
30
+ end
data/lib/markita.rb CHANGED
@@ -1,17 +1,19 @@
1
1
  module Markita
2
- VERSION = '1.0.210828'
2
+ VERSION = '3.0.210912'
3
3
 
4
4
  def self.run!
5
5
  # Standard libraries
6
6
  require 'digest'
7
7
  require 'cgi'
8
8
  # Gems
9
+ require 'rouge'
9
10
  require 'sinatra/base'
10
- require 'kramdown'
11
11
  require 'thin'
12
- Tilt.register Tilt::KramdownTemplate, 'md'
13
12
  # Local
14
13
  require_relative 'markita/config.rb'
14
+ require_relative 'markita/html.rb'
15
+ require_relative 'markita/preprocess.rb'
16
+ require_relative 'markita/markdown.rb'
15
17
  require_relative 'markita/base.rb'
16
18
  # Plugs
17
19
  require_relative 'markita/plug/favicon.rb' unless OPTIONS&.no_favicon
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: markita
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.210828
4
+ version: 3.0.210912
5
5
  platform: ruby
6
6
  authors:
7
7
  - CarlosJHR64
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-28 00:00:00.000000000 Z
11
+ date: 2021-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: help_parser
@@ -31,45 +31,45 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 7.0.200907
33
33
  - !ruby/object:Gem::Dependency
34
- name: sinatra
34
+ name: rouge
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '2.1'
39
+ version: '3.26'
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: 2.1.0
42
+ version: 3.26.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '2.1'
49
+ version: '3.26'
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 2.1.0
52
+ version: 3.26.0
53
53
  - !ruby/object:Gem::Dependency
54
- name: kramdown
54
+ name: sinatra
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '2.3'
59
+ version: '2.1'
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: 2.3.1
62
+ version: 2.1.0
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '2.3'
69
+ version: '2.1'
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: 2.3.1
72
+ version: 2.1.0
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: thin
75
75
  requirement: !ruby/object:Gem::Requirement
@@ -91,10 +91,9 @@ dependencies:
91
91
  - !ruby/object:Gem::Version
92
92
  version: 1.8.1
93
93
  description: |
94
- A [Sinatra](http://sinatrarb.com) Markdown server.
94
+ A Sinatra Markdown server.
95
95
 
96
- Uses [Kramdown](https://kramdown.gettalong.org/index.html) for the Markdown to
97
- HTML conversion.
96
+ With many extra non-standard features.
98
97
  email: carlosjhr64@gmail.com
99
98
  executables:
100
99
  - markita
@@ -103,6 +102,7 @@ extra_rdoc_files: []
103
102
  files:
104
103
  - README.md
105
104
  - bin/markita
105
+ - data/emojis.tsv
106
106
  - data/favicon.ico
107
107
  - data/highlight.css
108
108
  - data/login_failed.html
@@ -111,11 +111,14 @@ files:
111
111
  - lib/markita.rb
112
112
  - lib/markita/base.rb
113
113
  - lib/markita/config.rb
114
+ - lib/markita/html.rb
115
+ - lib/markita/markdown.rb
114
116
  - lib/markita/plug/about.rb
115
117
  - lib/markita/plug/favicon.rb
116
118
  - lib/markita/plug/highlight.rb
117
119
  - lib/markita/plug/login.rb
118
120
  - lib/markita/plug/plugs.rb
121
+ - lib/markita/preprocess.rb
119
122
  homepage: https://github.com/carlosjhr64/markita
120
123
  licenses:
121
124
  - MIT
@@ -138,5 +141,5 @@ requirements: []
138
141
  rubygems_version: 3.2.22
139
142
  signing_key:
140
143
  specification_version: 4
141
- summary: A [Sinatra](http://sinatrarb.com) Markdown server.
144
+ summary: A Sinatra Markdown server.
142
145
  test_files: []