Module: Markita

Defined in:
lib/markita.rb,
lib/markita/base.rb,
lib/markita/html.rb,
lib/markita/config.rb,
lib/markita/markdown.rb,
lib/markita/plug/about.rb,
lib/markita/plug/login.rb,
lib/markita/preprocess.rb,
lib/markita/plug/readme.rb,
lib/markita/plug/favicon.rb,
lib/markita/plug/highlight.rb,
lib/markita/plug/navigation.rb

Defined Under Namespace

Modules: HTML Classes: Base, Markdown, Preprocess

Constant Summary collapse

VERSION =
'5.0.241001'
''
''
BIND =
'0.0.0.0'
PORT =
'8080'
SERVER =
'webrick'
MDX =
'.md'
INDEX =
'index'
ROOT =
File.expand_path OPTIONS.root || '~/vimwiki'
SSL_CERTIFICATE =
File.join(ROOT, '.cert.crt')
SSL_PRIVATE_KEY =
File.join(ROOT, '.pkey.pem')
SERVER_SETTINGS =
[SSL_CERTIFICATE, SSL_PRIVATE_KEY].all?{File.exist?_1} ?
    { SSLEnable: true,
SSLVerifyClient: OpenSSL::SSL::VERIFY_NONE,
SSLCertificate: OpenSSL::X509::Certificate.new(File.read SSL_CERTIFICATE),
SSLPrivateKey:  OpenSSL::PKey::RSA.new(File.read SSL_PRIVATE_KEY) } : nil
SERVER_CONFIG =
lambda do |server|
  puts "#{$0}-#{VERSION}"
  puts "Sinatra-#{Sinatra::VERSION} using #{server.class}"
end
APPDIR =
File.dirname __dir__, 2
APPDATA =
File.join APPDIR, 'data'
PATH =
lambda do |basename|
  [ROOT, APPDATA].map{ File.join _1, basename}.detect{ File.exist? _1}
end
NOT_FOUND =
EMOJIS =
PAGE_KEY =
%r{/(\w[\w/-]*\w)}
SEND_FILE =
%r{/(\w[\w/-]*\w\.\w+)}
START_TIME =
Time.now

Class Method Summary collapse

Class Method Details

.run!Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/markita.rb', line 4

def self.run!
  # Standard libraries
  require 'digest'
  require 'cgi'
  require 'openssl'
  # Gems
  require 'rouge'
  require 'webrick/https'
  require 'sinatra/base'
  # Local
  require_relative 'markita/config'
  require_relative 'markita/html'
  require_relative 'markita/preprocess'
  require_relative 'markita/markdown'
  require_relative 'markita/base'
  # Plugs
  require_relative 'markita/plug/about'      unless OPTIONS.no_about
  require_relative 'markita/plug/favicon'    unless OPTIONS.no_favicon
  require_relative 'markita/plug/highlight'  unless OPTIONS.no_highlight
  require_relative 'markita/plug/login'      unless OPTIONS.
  require_relative 'markita/plug/navigation' unless OPTIONS.no_navigation
  require_relative 'markita/plug/plugs'      unless OPTIONS.no_plugs
  require_relative 'markita/plug/readme'     unless OPTIONS.no_readme
  Base.run!
end