aardi 0.9.2 → 1.0.0

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
  SHA256:
3
- metadata.gz: 0b1cd3200b5a5aadf79546a1052c8c75dee0b82080db2b6da7dcf2e952391140
4
- data.tar.gz: f4f4c3649a1beaa853099d6cf98088c9eb47c6ca5698420f5129a7e3f1c60edb
3
+ metadata.gz: d7be17f66c6135658a1a7e9bcd7cf85e0ea7a1e0b73894377bc97466ca305327
4
+ data.tar.gz: 4a2a44e5426dbf7be491b02e5ebf4fa15feeb1213229d0de6170f5e6efe329fc
5
5
  SHA512:
6
- metadata.gz: 9bbad21eb1024a48d2adc48777b4d492c77406136aaf63ceabe01b1b09ea4598dd39dc591c15619fb947505ef553007e260da1b725efcd8912f3e439aeb65dfa
7
- data.tar.gz: 5d4016e3ab9f933e6d82d172473704e79bc9bc1894ea1f3d4445059948a628e17adeec71da8ebccfa7c437e85d7162c59ed2fb3bb364ea39f8e232b0a5e21a9d
6
+ metadata.gz: 3abf73d04d38a2ec22d0e9667b91d45b7f55c06a5835f629d82bf531738f8756af7ded38cfd917d212caefc0527081b3f4846ffe5cefba8f044c6f7b7797d58b
7
+ data.tar.gz: e3e33868803f8adcfae3c59439f207b8664badbdad53489fc06bf0419598e581201ffbaaa36d6d05f5c27b3fef0c9eb51b31aada42ed6f0f9e6923977e27e0b6
@@ -5,7 +5,7 @@ module Aardi
5
5
  attr_reader :metadata, :mtime
6
6
 
7
7
  def parse_source(path)
8
- File.open(path, encoding: "utf-8") do |file|
8
+ File.open(path, encoding: 'utf-8') do |file|
9
9
  parts = file.read.rpartition("\n----\n")
10
10
  @metadata = YAML.safe_load(parts.first, permitted_classes: [Time]) || {}
11
11
  @src_content = parts.last
@@ -14,7 +14,7 @@ module Aardi
14
14
  end
15
15
 
16
16
  def title
17
- metadata["Title"] || @src_content.split("\n").first.sub(/^#+ /, "")
17
+ metadata['Title'] || @src_content.split("\n").first.sub(/^#+ /, '')
18
18
  end
19
19
  end
20
20
  end
data/lib/aardi/archive.rb CHANGED
@@ -34,7 +34,7 @@ module Aardi
34
34
  end
35
35
 
36
36
  def header
37
- "# #{Aardi.config[:blog_archive_title]}
37
+ "# #{title}
38
38
 
39
39
  ||Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|
40
40
  |---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -3,8 +3,8 @@
3
3
  module Aardi
4
4
  class ATOMFeed < AbstractFeed
5
5
  def content
6
- atom_feed = Nokogiri::XML::Builder.new(encoding: "UTF-8") do
7
- feed("xmlns" => "http://www.w3.org/2005/Atom") do |feed|
6
+ atom_feed = Nokogiri::XML::Builder.new(encoding: 'UTF-8') do
7
+ feed('xmlns' => 'http://www.w3.org/2005/Atom') do |feed|
8
8
  feed_details(feed)
9
9
  end
10
10
  end
@@ -13,6 +13,7 @@ module Aardi
13
13
  end
14
14
 
15
15
  # :reek:TooManyStatements
16
+ # rubocop:disable Metrics/MethodLength
16
17
  def feed_details(feed)
17
18
  aardi_config = Aardi.config
18
19
 
@@ -20,8 +21,8 @@ module Aardi
20
21
  name(aardi_config[:site_author])
21
22
  end
22
23
 
23
- subnodes = {id: feed_url, link: {href: feed_url, rel: "self"},
24
- title: aardi_config[:site_title], updated: updated.iso8601}
24
+ subnodes = { id: feed_url, link: { href: feed_url, rel: 'self' },
25
+ title: aardi_config[:site_title], updated: updated.iso8601 }
25
26
 
26
27
  subnodes.each do |node, value|
27
28
  feed.public_send node, value
@@ -31,11 +32,12 @@ module Aardi
31
32
  post_details(post, feed)
32
33
  end
33
34
  end
35
+ # rubocop:enable Metrics/MethodLength
34
36
 
35
37
  private
36
38
 
37
39
  def feed_file
38
- "index.xml"
40
+ 'index.xml'
39
41
  end
40
42
 
41
43
  # :reek:FeatureEnvy
@@ -45,10 +47,10 @@ module Aardi
45
47
  post_url = post.url
46
48
 
47
49
  # For safety, must use content_ and not content:
48
- content_(post.feed_snippet).type = "html"
50
+ content_(post.feed_snippet).type = 'html'
49
51
 
50
- subnodes = {id: post_url, link: {href: post_url}, title: post.title,
51
- published: post.creation.iso8601, updated: post.updated.iso8601}
52
+ subnodes = { id: post_url, link: { href: post_url }, title: post.title,
53
+ published: post.creation.iso8601, updated: post.updated.iso8601 }
52
54
  subnodes.each do |node, value|
53
55
  feed.public_send node, value
54
56
  end
data/lib/aardi/config.rb CHANGED
@@ -8,9 +8,14 @@ module Aardi
8
8
 
9
9
  def [](key) = @data[key]
10
10
 
11
- # :reek:TooManyStatements
12
11
  def load(path)
13
- config_hash = YAML.safe_load_file(path)
12
+ config_yaml = File.read path
13
+ prepare config_yaml
14
+ end
15
+
16
+ # :reek:TooManyStatements
17
+ def prepare(config_yaml)
18
+ config_hash = YAML.safe_load config_yaml
14
19
  config_hash.transform_keys!(&:to_sym)
15
20
  config_hash[:markup_options]&.transform_keys!(&:to_sym)
16
21
  @data.merge!(config_hash)
@@ -25,13 +25,13 @@ module Aardi
25
25
  private
26
26
 
27
27
  def new_hashes
28
- @new_hashes ||= @hashes.sort.map! { |path, hash| "#{path}: #{hash}\n" }.join
28
+ @new_hashes ||= @hashes.sort.map { |path, hash| "#{path}: #{hash}\n" }.join
29
29
  end
30
30
 
31
31
  def read_hashes
32
- @original_hashes = File.exist?(@path) ? File.read(@path) : ""
32
+ @original_hashes = File.exist?(@path) ? File.read(@path) : ''
33
33
  @hashes = @original_hashes.split("\n").to_h do |line|
34
- path, hash = line.split(":", 2)
34
+ path, hash = line.split(':', 2)
35
35
  [path.strip, hash.to_i]
36
36
  end
37
37
  end
@@ -7,7 +7,7 @@ module Aardi
7
7
  HEADER_SQUEEZE = /&#.*?;|&quot;|[^a-z0-9\-_]/
8
8
 
9
9
  def header(text, header_level)
10
- squeezed_text = text.squeeze(" ")
10
+ squeezed_text = text.squeeze(' ')
11
11
  id = header_id(text)
12
12
  "<h#{header_level} id=\"#{id}\">#{squeezed_text}</h#{header_level}>"
13
13
  end
@@ -33,7 +33,7 @@ module Aardi
33
33
  end
34
34
 
35
35
  def header_stub_id(text)
36
- text.downcase.strip.tr(" ", "-").gsub(HEADER_SQUEEZE, "").squeeze("-")
36
+ text.downcase.strip.tr(' ', '-').gsub(HEADER_SQUEEZE, '').squeeze('-')
37
37
  end
38
38
 
39
39
  def ids
data/lib/aardi/day.rb CHANGED
@@ -18,7 +18,7 @@ module Aardi
18
18
  def content
19
19
  @content ||= begin
20
20
  sorted_posts = @posts.sort_by(&:creation)
21
- posts_content = sorted_posts.reverse!.map!(&:content)
21
+ posts_content = sorted_posts.reverse.map(&:content)
22
22
  "# #{title}\n#{posts_content.join}"
23
23
  end
24
24
  end
@@ -29,7 +29,7 @@ module Aardi
29
29
  "./#{@archive_path}/#{@year}/#{@month}/#{self}/index.html"
30
30
  end
31
31
 
32
- def title = date.strftime("%A, %-e %B %Y")
32
+ def title = date.strftime('%A, %-e %B %Y')
33
33
 
34
34
  private
35
35
 
@@ -39,6 +39,6 @@ module Aardi
39
39
 
40
40
  def date = Date.new(@year.key, @month.key, @key)
41
41
 
42
- def to_s = @key.to_s.rjust(2, "0")
42
+ def to_s = @key.to_s.rjust(2, '0')
43
43
  end
44
44
  end
@@ -33,7 +33,7 @@ module Aardi
33
33
  return true unless file_exists?
34
34
  return false unless output_hash_changed?
35
35
 
36
- @src.output != File.read(@path).strip
36
+ @src.output != File.read(@path).strip # in case cache missing (or corrupt) yet file good.
37
37
  end
38
38
 
39
39
  def update_hash
data/lib/aardi/folder.rb CHANGED
@@ -4,10 +4,10 @@ module Aardi
4
4
  class Folder
5
5
  def initialize(path)
6
6
  @path = path
7
- @normalized_path = "#{path.sub(/^\./, "")}/"
7
+ @normalized_path = "#{path.sub(/^\./, '')}/"
8
8
  end
9
9
 
10
- def mtime = children.max_by(&:mtime).mtime
10
+ def mtime = children.max_by(&:mtime)&.mtime
11
11
 
12
12
  def render
13
13
  children.each(&:render)
@@ -30,12 +30,12 @@ module Aardi
30
30
  end
31
31
 
32
32
  def sources
33
- @sources ||= paths.filter_map { |path| Page.new(path) if path.end_with?(".md") }
33
+ @sources ||= paths.filter_map { |path| Page.new(path) if path.end_with?('.md') }
34
34
  end
35
35
 
36
36
  def update_sitemap
37
37
  # '.' is the top level so skip it since the homepage will register itself
38
- Aardi.ledger[:sitemap].update_mtime(@normalized_path, mtime) unless @path == "."
38
+ Aardi.ledger[:sitemap].update_mtime(@normalized_path, mtime) unless @path == '.'
39
39
  end
40
40
  end
41
41
  end
data/lib/aardi/home.rb CHANGED
@@ -12,11 +12,11 @@ module Aardi
12
12
  end
13
13
 
14
14
  def render
15
- Aardi.ledger[:sitemap].update_mtime("/", mtime)
15
+ Aardi.ledger[:sitemap].update_mtime('/', mtime)
16
16
  write_target
17
17
  end
18
18
 
19
- def target_path = "./index.html"
19
+ def target_path = './index.html'
20
20
 
21
21
  def title = Aardi.config[:blog_home_title]
22
22
 
@@ -35,11 +35,11 @@ module Aardi
35
35
  end
36
36
 
37
37
  def days_hash
38
- @days_hash ||= @posts.group_by { |post| post.creation.strftime("%Y-%m-%d") }
38
+ @days_hash ||= @posts.group_by { |post| post.creation.strftime('%Y-%m-%d') }
39
39
  end
40
40
 
41
41
  def post_day_content(post_day)
42
- date_header = post_day.first.creation.strftime("%A, %e %B %Y")
42
+ date_header = post_day.first.creation.strftime('%A, %e %B %Y')
43
43
  posts_content = post_day.map(&:content).join
44
44
  "## #{date_header}\n#{posts_content}"
45
45
  end
@@ -4,8 +4,8 @@ module Aardi
4
4
  class JSONFeed < AbstractFeed
5
5
  def content
6
6
  aardi_config = Aardi.config
7
- feed_content = {version: "https://jsonfeed.org/version/1.1", title: aardi_config[:site_title],
8
- home_page_url: aardi_config[:site_url], feed_url:}
7
+ feed_content = { version: 'https://jsonfeed.org/version/1.1', title: aardi_config[:site_title],
8
+ home_page_url: aardi_config[:site_url], feed_url: }
9
9
  feed_content[:items] = @posts.map { |post| post_details(post) }
10
10
 
11
11
  JSON.pretty_generate(feed_content)
@@ -14,19 +14,19 @@ module Aardi
14
14
  private
15
15
 
16
16
  def feed_file
17
- "index.json"
17
+ 'index.json'
18
18
  end
19
19
 
20
20
  def post_details(post)
21
21
  post_updated = post.updated
22
22
  post_creation = post.creation
23
23
 
24
- details = {id: post.name, url: post.url, title: post.title,
25
- date_published: post_creation.iso8601, content_html: post.feed_snippet}
24
+ details = { id: post.name, url: post.url, title: post.title,
25
+ date_published: post_creation.iso8601, content_html: post.feed_snippet }
26
26
 
27
27
  details[:date_modified] = post_updated.iso8601 unless post_creation == post_updated
28
28
 
29
- details.compact
29
+ details
30
30
  end
31
31
  end
32
32
  end
data/lib/aardi/month.rb CHANGED
@@ -14,7 +14,7 @@ module Aardi
14
14
  end
15
15
 
16
16
  def archive_cell(month_fmt)
17
- cell = count.zero? ? "" : format(month_fmt, count:, archive_path: @archive_path, year: @year, month: self)
17
+ cell = count.zero? ? '' : format(month_fmt, count:, archive_path: @archive_path, year: @year, month: self)
18
18
  "#{cell} |"
19
19
  end
20
20
 
@@ -31,9 +31,9 @@ module Aardi
31
31
  "./#{@archive_path}/#{@year}/#{self}/index.html"
32
32
  end
33
33
 
34
- def title = Date.new(@year.key, @key).strftime("%B %Y")
34
+ def title = Date.new(@year.key, @key).strftime('%B %Y')
35
35
 
36
- def to_s = @key.to_s.rjust(2, "0")
36
+ def to_s = @key.to_s.rjust(2, '0')
37
37
 
38
38
  private
39
39
 
@@ -2,14 +2,14 @@
2
2
 
3
3
  module Aardi
4
4
  class Orphanage
5
- def warn
6
- Aardi.ledger[:html_files].each { |path| puts("Orphan: #{path}") unless ignored?(path) }
5
+ def report
6
+ Aardi.ledger[:html_files].each { |path| warn("Orphan: #{path}") unless ignored?(path) }
7
7
  end
8
8
 
9
9
  private
10
10
 
11
11
  def ignored?(path)
12
- Aardi.config[:ignore_orphans].any? { |prefix| path.start_with?(prefix) }
12
+ Array(Aardi.config[:ignore_orphans]).any? { |prefix| path.start_with?(prefix) }
13
13
  end
14
14
  end
15
15
  end
data/lib/aardi/page.rb CHANGED
@@ -19,7 +19,7 @@ module Aardi
19
19
  end
20
20
 
21
21
  def target_path
22
- @path.pathmap("%X.html")
22
+ @path.pathmap('%X.html')
23
23
  end
24
24
  end
25
25
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "webrick"
3
+ require 'webrick'
4
4
 
5
5
  module Aardi
6
6
  class PathServlet < WEBrick::HTTPServlet::AbstractServlet
7
7
  def service(req, res)
8
8
  # use index if folder
9
- path = "./#{req.path}".sub(%r{/$}, "/index.html")
9
+ path = "./#{req.path}".sub(%r{/$}, '/index.html')
10
10
 
11
11
  file = path if File.exist?(path)
12
12
  file ||= "#{path}.html" if File.exist?("#{path}.html")
data/lib/aardi/post.rb CHANGED
@@ -7,27 +7,28 @@ module Aardi
7
7
  def initialize(path)
8
8
  @path = path
9
9
  parse_source path
10
+ raise "#{path}: missing Creation metadata" unless metadata['Creation']
10
11
  end
11
12
 
12
13
  def content
13
14
  "#{@src_content}\n<div><span class=\"bookmark\">[<a href=\"#{url}\">bookmark</a>]</span></div>\n"
14
15
  end
15
16
 
16
- def creation = metadata["Creation"]
17
+ def creation = metadata['Creation']
17
18
 
18
19
  def day = creation.day
19
20
 
20
21
  def feed_snippet
21
- clean_content = @src_content.sub(/\A(### .*\n)?\n+/, "")
22
+ clean_content = @src_content.sub(/\A(### .*\n)?\n+/, '')
22
23
  render_markup(clean_content).strip
23
24
  end
24
25
 
25
26
  def month = creation.month
26
27
 
27
- def name = File.basename(@path, ".*")
28
+ def name = File.basename(@path, '.*')
28
29
 
29
30
  def report_field_summary
30
- creation_header = creation.strftime("%e %b %Y")
31
+ creation_header = creation.strftime('%e %b %Y')
31
32
  puts "#{creation_header} | #{@path} | #{title}"
32
33
  end
33
34
 
@@ -35,7 +36,7 @@ module Aardi
35
36
  "./#{short_target}.html"
36
37
  end
37
38
 
38
- def updated = metadata["Updated"] || creation
39
+ def updated = metadata['Updated'] || creation
39
40
 
40
41
  def url = "#{Aardi.config[:site_url]}/#{short_target}"
41
42
 
@@ -50,7 +51,7 @@ module Aardi
50
51
  end
51
52
 
52
53
  def short_target
53
- "#{Aardi.config[:blog_archive_path]}/#{creation.strftime("%Y/%m/%d")}/#{name}"
54
+ "#{Aardi.config[:blog_archive_path]}/#{creation.strftime('%Y/%m/%d')}/#{name}"
54
55
  end
55
56
  end
56
57
  end
data/lib/aardi/site.rb CHANGED
@@ -21,7 +21,7 @@ module Aardi
21
21
  private
22
22
 
23
23
  def children
24
- [Folder.new("."), blog, sitemap]
24
+ [Folder.new('.'), blog, sitemap]
25
25
  end
26
26
 
27
27
  def content_hashes
@@ -33,7 +33,7 @@ module Aardi
33
33
  end
34
34
 
35
35
  def html_files
36
- @html_files ||= Dir.glob("./**/*.html").to_set
36
+ @html_files ||= Dir.glob('./**/*.html').to_set
37
37
  end
38
38
 
39
39
  def initialize_ledger
@@ -41,7 +41,7 @@ module Aardi
41
41
  # set up content hashes so they're in place while building out the rest
42
42
  ledger[:content_hashes] = content_hashes
43
43
 
44
- {custom_renderer:, markdown_renderer:, html_files:, sitemap:, template:}.each do |message, value|
44
+ { custom_renderer:, markdown_renderer:, html_files:, sitemap:, template: }.each do |message, value|
45
45
  ledger[message] = value
46
46
  end
47
47
  end
@@ -59,10 +59,9 @@ module Aardi
59
59
  end
60
60
 
61
61
  def warn_about_orphans
62
- Orphanage.new.warn
62
+ Orphanage.new.report
63
63
  end
64
64
 
65
- def write_target
66
- end
65
+ def write_target; end
67
66
  end
68
67
  end
data/lib/aardi/sitemap.rb CHANGED
@@ -4,8 +4,8 @@ module Aardi
4
4
  class Sitemap
5
5
  # :reek:NestedIterators
6
6
  def content
7
- sitemap = Nokogiri::XML::Builder.new(encoding: "UTF-8") do
8
- urlset(xmlns: "http://www.sitemaps.org/schemas/sitemap/0.9") do |urlset|
7
+ sitemap = Nokogiri::XML::Builder.new(encoding: 'UTF-8') do
8
+ urlset(xmlns: 'http://www.sitemaps.org/schemas/sitemap/0.9') do |urlset|
9
9
  urls.each do |path, details|
10
10
  url_details(path, details, urlset)
11
11
  end
@@ -20,7 +20,7 @@ module Aardi
20
20
  FileTarget.new(source, target_path).write
21
21
  end
22
22
 
23
- def target_path = "./sitemap.xml"
23
+ def target_path = './sitemap.xml'
24
24
 
25
25
  def update_mtime(path, path_mtime)
26
26
  urls[path][:lastmod] = path_mtime.iso8601
@@ -50,7 +50,7 @@ module Aardi
50
50
  end
51
51
 
52
52
  def url_values(path, changefreq)
53
- {loc: "#{Aardi.config[:site_url]}#{path}", changefreq:}
53
+ { loc: "#{Aardi.config[:site_url]}#{path}", changefreq: }
54
54
  end
55
55
  end
56
56
  end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- desc("Fix file timestamps")
3
+ desc('Fix file timestamps')
4
4
  task(:fixtimes) do
5
- require "aardi/timekeeper"
5
+ require 'aardi/timekeeper'
6
6
 
7
7
  Aardi::Timekeeper.new.run
8
8
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- desc("Visit home page")
3
+ desc('Visit home page')
4
4
  task homepage: [:load_config] do
5
5
  system("open #{Aardi.config[:site_url]}")
6
6
  end
@@ -1,34 +1,39 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- INIT_FILES_DIR = File.expand_path("../init_files", __dir__)
3
+ INIT_FILES_DIR = File.expand_path('../init_files', __dir__)
4
4
 
5
- desc("Scaffold a new Aardi site")
6
- task :init do
7
- Dir.glob("#{INIT_FILES_DIR}/**/*", File::FNM_DOTMATCH).each do |src|
8
- next if File.directory?(src)
9
-
10
- dest = File.basename(src)
5
+ unless defined?(InitTask)
6
+ module InitTask
7
+ def self.install_file(src)
8
+ dest = File.basename(src)
11
9
 
12
- unless File.exist?(dest)
13
- FileUtils.cp(src, dest)
14
- puts "Created #{dest}"
15
- next
16
- end
17
-
18
- loop do
19
- print "#{dest} already exists. Overwrite? [y]es / [n]o: "
20
- answer = $stdin.gets&.strip&.downcase
21
- case answer
22
- when "y"
10
+ if !File.exist?(dest) || prompt_overwrite?(dest)
23
11
  FileUtils.cp(src, dest)
24
- puts "Overwrote #{dest}"
25
- break
26
- when "n"
12
+ puts "Wrote #{dest}"
13
+ else
27
14
  puts "Skipped #{dest}"
28
- break
29
15
  end
30
16
  end
17
+
18
+ def self.prompt_overwrite?(filename)
19
+ loop do
20
+ print "#{filename} already exists. Overwrite? [y]es / [n]o: "
21
+ case $stdin.gets&.strip&.downcase
22
+ when 'y' then return true
23
+ when 'n' then return false
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+
30
+ desc('Scaffold a new Aardi site')
31
+ task :init do
32
+ Dir.glob("#{INIT_FILES_DIR}/**/*", File::FNM_DOTMATCH).each do |src|
33
+ next if File.directory?(src)
34
+
35
+ InitTask.install_file(src)
31
36
  end
32
37
 
33
- puts "Site scaffolding installed."
38
+ puts 'Site scaffolding installed.'
34
39
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  # rubocop:disable Rake/Desc
4
4
  task :load_config do
5
- Aardi.config.load "./config.yml"
5
+ Aardi.config.load './config.yml'
6
6
  end
7
7
  # rubocop:enable Rake/Desc
@@ -10,7 +10,7 @@ def create_new_post
10
10
  puts(new_post_path)
11
11
  end
12
12
 
13
- desc("Create a new blog post and reveal it in Finder")
13
+ desc('Create a new blog post and reveal it in Finder')
14
14
  task new: [:load_config] do
15
15
  create_new_post
16
16
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- desc("Produce an Updated header with current timestamp")
3
+ desc('Produce an Updated header with current timestamp')
4
4
  task :now do
5
5
  puts "Updated: #{Time.now.utc.iso8601}"
6
6
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- desc("View recent posts")
3
+ desc('View recent posts')
4
4
  task recent: [:load_config] do
5
5
  Aardi::Site.new.blog.report_recent
6
6
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- desc("Render new or updated files [DEFAULT]")
3
+ desc('Render new or updated files [DEFAULT]')
4
4
  task render: [:load_config] do
5
5
  Aardi::Site.new.render
6
6
  end
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- desc("Run a server")
3
+ desc('Run a server')
4
4
  task :server do
5
- require "aardi/path_servlet"
5
+ require 'aardi/path_servlet'
6
6
 
7
7
  port = 8000
8
8
  url = "http://localhost:#{port}/"
9
- root = "."
9
+ root = '.'
10
10
  puts(url)
11
11
 
12
12
  server = WEBrick::HTTPServer.new(Port: port, DocumentRoot: root)
13
- server.mount("/", Aardi::PathServlet)
13
+ server.mount('/', Aardi::PathServlet)
14
14
 
15
- trap("INT") { server.shutdown }
15
+ trap('INT') { server.shutdown }
16
16
  system("(open '#{url}')&")
17
17
  server.start
18
18
  end
data/lib/aardi/tasks.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "aardi"
3
+ require 'aardi'
4
4
 
5
- Dir[File.join(__dir__, "tasks", "*.rake")].each { |f| load f }
5
+ Dir[File.join(__dir__, 'tasks', '*.rake')].each { |f| load f }
@@ -24,18 +24,18 @@ module Aardi
24
24
  private
25
25
 
26
26
  def add_description(dom, src)
27
- description = src.metadata["Description"]
27
+ description = src.metadata['Description']
28
28
  return unless description
29
29
 
30
- dom.at_css('meta[name="description"]')["content"] = description
30
+ dom.at_css('meta[name="description"]')['content'] = description
31
31
  end
32
32
 
33
33
  def add_main(dom, src)
34
- dom.at_css("main").add_child(Aardi.ledger[:markdown_renderer].render(src.content))
34
+ dom.at_css('main').add_child(Aardi.ledger[:markdown_renderer].render(src.content))
35
35
  end
36
36
 
37
37
  def add_title(dom, src)
38
- dom.at_css("title").content += " #{src.title}"
38
+ dom.at_css('title').content += " #{src.title}"
39
39
  end
40
40
  end
41
41
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "git"
3
+ require 'git'
4
4
 
5
5
  module Aardi
6
6
  # :reek:TooManyInstanceVariables
data/lib/aardi/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Aardi
4
- VERSION = "0.9.2"
4
+ VERSION = '1.0.0'
5
5
  end
data/lib/aardi.rb CHANGED
@@ -1,44 +1,44 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "date"
4
- require "fileutils"
5
- require "json"
6
- require "yaml"
7
- require "zlib"
3
+ require 'date'
4
+ require 'fileutils'
5
+ require 'json'
6
+ require 'yaml'
7
+ require 'zlib'
8
8
 
9
- require "nokogiri"
10
- require "rake"
11
- require "redcarpet"
9
+ require 'nokogiri'
10
+ require 'rake'
11
+ require 'redcarpet'
12
12
 
13
- require_relative "aardi/version"
14
- require_relative "aardi/config"
15
- require_relative "aardi/ledger"
16
- require_relative "aardi/content"
17
- require_relative "aardi/content_hashes"
18
- require_relative "aardi/custom_renderer"
19
- require_relative "aardi/abstract_blog"
20
- require_relative "aardi/abstract_page_support"
21
- require_relative "aardi/abstract_feed"
22
- require_relative "aardi/file_target"
23
- require_relative "aardi/page_target"
24
- require_relative "aardi/page_content"
25
- require_relative "aardi/template"
26
- require_relative "aardi/page"
27
- require_relative "aardi/post"
28
- require_relative "aardi/day"
29
- require_relative "aardi/month"
30
- require_relative "aardi/year"
31
- require_relative "aardi/archive"
32
- require_relative "aardi/home"
33
- require_relative "aardi/atom_feed"
34
- require_relative "aardi/json_feed"
35
- require_relative "aardi/blog"
36
- require_relative "aardi/folder"
37
- require_relative "aardi/sitemap"
38
- require_relative "aardi/orphanage"
39
- require_relative "aardi/site"
13
+ require_relative 'aardi/version'
14
+ require_relative 'aardi/config'
15
+ require_relative 'aardi/ledger'
16
+ require_relative 'aardi/content'
17
+ require_relative 'aardi/content_hashes'
18
+ require_relative 'aardi/custom_renderer'
19
+ require_relative 'aardi/abstract_blog'
20
+ require_relative 'aardi/abstract_page_support'
21
+ require_relative 'aardi/abstract_feed'
22
+ require_relative 'aardi/file_target'
23
+ require_relative 'aardi/page_target'
24
+ require_relative 'aardi/page_content'
25
+ require_relative 'aardi/template'
26
+ require_relative 'aardi/page'
27
+ require_relative 'aardi/post'
28
+ require_relative 'aardi/day'
29
+ require_relative 'aardi/month'
30
+ require_relative 'aardi/year'
31
+ require_relative 'aardi/archive'
32
+ require_relative 'aardi/home'
33
+ require_relative 'aardi/atom_feed'
34
+ require_relative 'aardi/json_feed'
35
+ require_relative 'aardi/blog'
36
+ require_relative 'aardi/folder'
37
+ require_relative 'aardi/sitemap'
38
+ require_relative 'aardi/orphanage'
39
+ require_relative 'aardi/site'
40
40
 
41
- RubyVM::YJIT.enable if RUBY_ENGINE == "ruby" && RUBY_VERSION.to_f >= 3.1
41
+ RubyVM::YJIT.enable if RUBY_ENGINE == 'ruby'
42
42
 
43
43
  module Aardi
44
44
  class << self
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aardi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Faisal N Jawdat
@@ -79,146 +79,6 @@ dependencies:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
- - !ruby/object:Gem::Dependency
83
- name: flog
84
- requirement: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
- type: :development
90
- prerelease: false
91
- version_requirements: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- - !ruby/object:Gem::Dependency
97
- name: reek
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- type: :development
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: rubocop-minitest
112
- requirement: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- type: :development
118
- prerelease: false
119
- version_requirements: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: '0'
124
- - !ruby/object:Gem::Dependency
125
- name: rubocop-ordered_methods
126
- requirement: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- version: '0'
131
- type: :development
132
- prerelease: false
133
- version_requirements: !ruby/object:Gem::Requirement
134
- requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- version: '0'
138
- - !ruby/object:Gem::Dependency
139
- name: rubocop-performance
140
- requirement: !ruby/object:Gem::Requirement
141
- requirements:
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- version: '0'
145
- type: :development
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - ">="
150
- - !ruby/object:Gem::Version
151
- version: '0'
152
- - !ruby/object:Gem::Dependency
153
- name: rubocop-rake
154
- requirement: !ruby/object:Gem::Requirement
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- version: '0'
159
- type: :development
160
- prerelease: false
161
- version_requirements: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- - !ruby/object:Gem::Dependency
167
- name: rubocop-rubyfmt
168
- requirement: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
- type: :development
174
- prerelease: false
175
- version_requirements: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: '0'
180
- - !ruby/object:Gem::Dependency
181
- name: rubocop
182
- requirement: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: '0'
187
- type: :development
188
- prerelease: false
189
- version_requirements: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- version: '0'
194
- - !ruby/object:Gem::Dependency
195
- name: minitest
196
- requirement: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- version: '0'
201
- type: :development
202
- prerelease: false
203
- version_requirements: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - ">="
206
- - !ruby/object:Gem::Version
207
- version: '0'
208
- - !ruby/object:Gem::Dependency
209
- name: standard
210
- requirement: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - ">="
213
- - !ruby/object:Gem::Version
214
- version: 1.35.1
215
- type: :development
216
- prerelease: false
217
- version_requirements: !ruby/object:Gem::Requirement
218
- requirements:
219
- - - ">="
220
- - !ruby/object:Gem::Version
221
- version: 1.35.1
222
82
  email: aardi@faisal.com
223
83
  executables: []
224
84
  extensions: []
@@ -265,10 +125,14 @@ files:
265
125
  - lib/aardi/timekeeper.rb
266
126
  - lib/aardi/version.rb
267
127
  - lib/aardi/year.rb
128
+ homepage: https://github.com/faisal/aardi
268
129
  licenses:
269
130
  - MIT
270
131
  metadata:
271
- source_code_uri: https://www.github.com/faisal/aardi
132
+ source_code_uri: https://github.com/faisal/aardi
133
+ bug_tracker_uri: https://github.com/faisal/aardi/issues
134
+ changelog_uri: https://github.com/faisal/aardi/blob/main/CHANGELOG.md
135
+ documentation_uri: https://github.com/faisal/aardi/blob/main/README.md
272
136
  rubygems_mfa_required: 'true'
273
137
  rdoc_options: []
274
138
  require_paths:
@@ -284,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
284
148
  - !ruby/object:Gem::Version
285
149
  version: '0'
286
150
  requirements: []
287
- rubygems_version: 4.0.9
151
+ rubygems_version: 4.0.10
288
152
  specification_version: 4
289
153
  summary: A static site generator.
290
154
  test_files: []