sancho 0.6.2 → 0.7.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
  SHA256:
3
- metadata.gz: 5f82ecb02dbfd8049052cfd187eabe8be36d054494d4cfb5f5c0a057a44f0f85
4
- data.tar.gz: a2952518cff02c6e2fb5ef44ac86a321a579cc682b0dce3f0743f7758ac94a48
3
+ metadata.gz: 99f228f89c26168c0dfde71426f864acd75ccf5fd4cb50a5e06895a408187e5e
4
+ data.tar.gz: 4e349e7a2513e4698ef4d2c9d8917fcad3e53718f87f36dc6e21a2f17106f45b
5
5
  SHA512:
6
- metadata.gz: eeb013e3f4b519c11eea6df4a596eb6f6e355e5bce51895a6b6e64c579f5f3caabee3cb3b50ced9634e31bbbd6101f080712c0cb854843e2c5417d404947250d
7
- data.tar.gz: 16845d4840dd0abceab7fe1a27a123a051c3326afd3b56dd5632aaa6c08ec2ee9e6a9d0d2874d84fcbdf3609ff259df928df7344ff5f6e66934be3b9b1df940f
6
+ metadata.gz: 64341e38b38407736b1a013b3504e8adcb9a13de636cf74741a2bb9bfc9d53c33b12350f7af0e9a2934be34fd4dcd743d7d94e39c1ec07b030a40d14c19c0538
7
+ data.tar.gz: e3f928cbe8ec1e92cc3c3ed5228044038fe6675ad0f49cf9c0563ea7022133450aa90746f47212574886f0a9cadd26fcb85d7389e3a5b7206faa7e04a6a1e4bb
data/.dockerignore ADDED
@@ -0,0 +1,12 @@
1
+ # Ignore all
2
+ *
3
+
4
+ # Allow sources
5
+ !/bin/
6
+ !/app/
7
+ !/lib/
8
+ !Gemfile
9
+ !Gemfile.lock
10
+
11
+ # Ignore backups
12
+ **/*~
data/.rubocop.yml ADDED
@@ -0,0 +1,73 @@
1
+ # The behavior of RuboCop can be controlled via the .rubocop.yml
2
+ # configuration file. It makes it possible to enable/disable
3
+ # certain cops (checks) and to alter their behavior if they accept
4
+ # any parameters. The file can be placed either in your home
5
+ # directory or in some project directory.
6
+ #
7
+ # RuboCop will start looking for the configuration file in the directory
8
+ # where the inspected file is and continue its way up to the root directory.
9
+ #
10
+ # See https://docs.rubocop.org/rubocop/configuration
11
+ AllCops:
12
+ TargetRubyVersion: 3.4.X
13
+ DisableByDefault: true
14
+ Exclude:
15
+ - 'test/**/*'
16
+
17
+ Style:
18
+ Enabled: true
19
+
20
+ # the codebase desing provides bunch of mappers and interactors
21
+ # that are actually "method"-like thing that have only one method
22
+ # and it "call"
23
+ # TODO: inspect on Proc#[] and [] for only-one-method classes
24
+ Style/LambdaCall:
25
+ Enabled: false
26
+
27
+ # was spoted in Data constructors, where the constructor
28
+ # use the same arguments order as is was defined
29
+ Style/KeywordParametersOrder:
30
+ Enabled: false
31
+
32
+ # fail used intentionally to show that partilcular exeptions
33
+ # are not rescued/handled in the context of the fail call
34
+ # some obsolete consideration could be fund by link
35
+ # https://stackoverflow.com/questions/31937632/fail-vs-raise-in-ruby-should-we-really-believe-the-style-guide
36
+ Style/SignalException:
37
+ Enabled: false
38
+
39
+ # it's mainly ?\n that is one symbol shorter than "\n" with no necessity to wrap in ""
40
+ Style/CharacterLiteral:
41
+ Enabled: false
42
+
43
+ # thats ridiculous cause many standard thing do not follow it
44
+ # have one simple string now do not mean it will simple string
45
+ # forever.. maybe for require/require_relative, but not everywhere
46
+ Style/StringLiterals:
47
+ Enabled: false
48
+
49
+ # there are a few modules used like classes; I like it simplicity
50
+ Style/ModuleFunction:
51
+ Enabled: false
52
+
53
+ # # interfactor do not inlcude entities, not mixed-it-in but just
54
+ # # use shorter names withot the necessity Dog::Entitiies::Blob
55
+ # # just Blob
56
+ # Style/MixinUsage:
57
+ # Enabled: false
58
+
59
+ # not always fit my style mapping some string than adding ?\n
60
+ # TODO: maybe change some style
61
+ Style/StringConcatenation:
62
+ Enabled: false
63
+
64
+ # some abstract classes require such arguments
65
+ # TODO: explore RuboCop further, maybe mark abstract stuff
66
+ Lint/UnusedMethodArgument:
67
+ Enbale: false
68
+
69
+ Metrics:
70
+ Enabled: false
71
+
72
+ Layout:
73
+ Enabled: false
data/.sancho.yml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ directory: docs
3
+ domain: domain
4
+ title: Sancho
5
+ pages:
6
+ - README.md
7
+ - CHANGELOG.md
data/CHANGELOG.md CHANGED
@@ -6,21 +6,26 @@ keywords:
6
6
  - ruby
7
7
  ...
8
8
 
9
- ## [TODO]
9
+ ## [Unreleased]
10
10
 
11
- - [ ] having template, is there any sense in header, footer?
12
- - [ ] page collections with own collection layout and index.html
13
11
 
14
- ## [Unreleased]
12
+ ## [0.7.1] - 2025-08-26
13
+
14
+ - added progress information
15
+
16
+ ## [0.7.0] - 2025-08-24
17
+
18
+ - designed CLI interface of init, build, serve commands
19
+ - removed Rake interface (that was dependency disaster)
20
+ - Ruby 3.4
15
21
 
16
- ## [0.6.2] - 2024-03-09
22
+ ## [0.6.0] - 2024-03-07
17
23
 
18
24
  - designed new model based on Data.define
19
25
  - designed tests for tasks.rake
20
- - designed new `sancho:serve` tasks
26
+ - designed new `sancho:serve` and `sancho:release` tasks
21
27
  - improved `sancho:init` output
22
28
  - improved `sancho:docs` using Dir.mktempdir
23
- - removed `docs branch` stuff
24
29
 
25
30
  ## [0.3.0] - 2023-02-11
26
31
 
data/Gemfile CHANGED
@@ -6,6 +6,6 @@ source "https://rubygems.org"
6
6
  gemspec
7
7
 
8
8
  gem "rake", "~> 13.1"
9
+ gem "minitest", "~> 5.22"
9
10
  gem "rack", "~> 3.0"
10
11
  gem "rackup"
11
- gem "minitest", "~> 5.22"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sancho (0.6.1)
4
+ sancho (0.7.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -16,7 +16,7 @@ GEM
16
16
 
17
17
  PLATFORMS
18
18
  arm64-darwin-23
19
- x64-mingw-ucrt
19
+ arm64-darwin-24
20
20
  x64-mingw32
21
21
  x86_64-linux
22
22
 
data/README.md CHANGED
@@ -5,43 +5,43 @@ keywords:
5
5
  - github-pages-generator
6
6
  ...
7
7
 
8
- `Sancho` is static site generator for [Github Pages](https://pages.github.com/). Site content should to be written in Markdown or [Pandoc Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown). And it will be rendered with [Pandoc](https://pandoc.org/)
8
+ ## Overview
9
9
 
10
- ## Installation
11
-
12
- Run
10
+ Sancho plays [Github Pages](https://pages.github.com/) generator designed for simplest site generation from a few markdown files.
13
11
 
14
- $ bundle add sancho --git https://github.com/nvoynov/sancho.git
12
+ In my scenario, I always have README.md and CHANGELOG.md, sometimes STORY.md for every project and present those on the project page.
15
13
 
16
- Require it in the Rakefile
14
+ It utilizes [Pandoc](https://pandoc.org) for Markdown to HTML translation; source markdonw could be [Pandoc Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown).
17
15
 
18
- ```ruby
19
- require "sancho"
20
- source, folders = Sancho.tasks
21
- Rake.application.rake_require source, folders
22
- ```
23
-
24
- Install [pandoc](https://pandoc.org/installing.html)
16
+ ## Installation
25
17
 
26
- ## Usage
18
+ Install the gem
27
19
 
28
- To initialize site content, run the initialization task
20
+ gem install sancho
29
21
 
30
- $ rake sancho:init
22
+ Or add it by
31
23
 
32
- Configure the site content by customizing `sancho.yml`
24
+ bundle add sancho --git https://github.com/nvoynov/sancho.git
33
25
 
34
- Render HTML content from markdown sources
26
+ Install [pandoc](https://pandoc.org/installing.html)
35
27
 
36
- $ rake sancho:docs
28
+ ## Usage
37
29
 
38
- Serve it locally by
30
+ [Basic flow]{.underline}
39
31
 
40
- $ rake sancho:serve
32
+ # go to tareget directory
33
+ cd my_thing
34
+ # create .sancho.yml configuration file and copy basis site assets
35
+ sancho init
36
+ # do some configuration and template changes
37
+ # then build the site
38
+ sancho build
39
+ # test the site
40
+ sancho serve
41
41
 
42
42
  [Template]{.underline}
43
43
 
44
- You can provide your own HTML template by placing `_layouts/template.html` file. Read [Pandoc Templates](https://pandoc.org/MANUAL.html#templates) section for details.
44
+ To change template just place your `_layouts/template.html` file. Read [Pandoc Templates](https://pandoc.org/MANUAL.html#templates) section for details.
45
45
 
46
46
  ## Links
47
47
 
data/Rakefile CHANGED
@@ -1,8 +1,3 @@
1
- require "rake"
2
- require_relative "lib/sancho"
3
- source, folders = Sancho.tasks
4
- Rake.application.rake_require source, folders
5
-
6
1
  require "bundler/gem_tasks"
7
2
  require "rake/testtask"
8
3
 
data/docs/changelog.html CHANGED
@@ -1,96 +1,90 @@
1
- <!DOCTYPE html>
2
- <html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="generator" content="pandoc" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
7
- <meta name="keywords" content="static-site-generator, github-pages-generator, ruby" />
8
- <title>Sancho Changelog</title>
9
- <style>
10
- code{white-space: pre-wrap;}
11
- span.smallcaps{font-variant: small-caps;}
12
- div.columns{display: flex; gap: min(4vw, 1.5em);}
13
- div.column{flex: auto; overflow-x: auto;}
14
- div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
15
- ul.task-list{list-style: none;}
16
- ul.task-list li input[type="checkbox"] {
17
- width: 0.8em;
18
- margin: 0 0.8em 0.2em -1.6em;
19
- vertical-align: middle;
20
- }
21
- .display.math{display: block; text-align: center; margin: 0.5rem auto;}
22
- </style>
23
- <link rel="stylesheet" href="css/styles.css" />
24
- <!--[if lt IE 9]>
25
- <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
26
- <![endif]-->
27
- </head>
28
- <body>
29
- <p class="navbar">
30
- <span class="smallcaps">= <strong>“Sancho” Pages Puncher</strong> = <a
31
- href="readme.html">Readme</a> ~ <a href="changelog.html">Changelog</a> ~
32
- <a href="story.html">Story</a> ~ <a
33
- href="https://github.com/nvoynov/sancho">Github</a></span>
34
- </p>
35
- <header id="title-block-header">
36
- <h1 class="title">Sancho Changelog</h1>
37
- </header>
38
- <nav id="TOC" role="doc-toc">
39
- <ul>
40
- <li><a href="#todo" id="toc-todo">[TODO]</a></li>
41
- <li><a href="#unreleased" id="toc-unreleased">[Unreleased]</a></li>
42
- <li><a href="#section" id="toc-section">[0.6.0] - 2024-03-08</a></li>
43
- <li><a href="#section-1" id="toc-section-1">[0.6.0] -
44
- 2024-03-07</a></li>
45
- <li><a href="#section-2" id="toc-section-2">[0.3.0] -
46
- 2023-02-11</a></li>
47
- <li><a href="#section-3" id="toc-section-3">[0.2.0] -
48
- 2023-01-30</a></li>
49
- <li><a href="#section-4" id="toc-section-4">[0.1.0] -
50
- 2023-01-28</a></li>
51
- </ul>
52
- </nav>
53
- <h2 id="todo">[TODO]</h2>
54
- <ul class="task-list">
55
- <li><input type="checkbox" />fix config.ru for serving locally; provide
56
- it for clients</li>
57
- <li><input type="checkbox" />having template, is there any sense in
58
- header, footer?</li>
59
- <li><input type="checkbox" />page collections with own collection layout
60
- and index.html</li>
61
- </ul>
62
- <h2 id="unreleased">[Unreleased]</h2>
63
- <h2 id="section">[0.6.0] - 2024-03-08</h2>
64
- <ul>
65
- <li>fixed config.ru</li>
66
- <li><code>serve</code> task depends on <code>docs</code></li>
67
- </ul>
68
- <h2 id="section-1">[0.6.0] - 2024-03-07</h2>
69
- <ul>
70
- <li>designed new model based on Data.define</li>
71
- <li>designed tests for tasks.rake</li>
72
- <li>designed new <code>sancho:serve</code> and
73
- <code>sancho:release</code> tasks</li>
74
- <li>improved <code>sancho:init</code> output</li>
75
- <li>improved <code>sancho:docs</code> using Dir.mktempdir</li>
76
- </ul>
77
- <h2 id="section-2">[0.3.0] - 2023-02-11</h2>
78
- <ul>
79
- <li>packed as a gem</li>
80
- <li>added <code>sancho:init</code> rake task</li>
81
- </ul>
82
- <h2 id="section-3">[0.2.0] - 2023-01-30</h2>
83
- <ul>
84
- <li>added styles (pandoc.css with sticky navbar and changed code)</li>
85
- <li>added rackup</li>
86
- </ul>
87
- <h2 id="section-4">[0.1.0] - 2023-01-28</h2>
88
- <ul>
89
- <li>Project released</li>
90
- </ul>
91
- <div id="footer">
92
- <hr />
93
- <p>© 2022-2023 <a href="http://nvoynov.github.io/">nvoynov</a></p>
94
- </div>
95
- </body>
96
- </html>
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="generator" content="pandoc" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
7
+ <meta name="keywords" content="static-site-generator, github-pages-generator, ruby" />
8
+ <title>Sancho Changelog</title>
9
+ <style>
10
+ code{white-space: pre-wrap;}
11
+ span.smallcaps{font-variant: small-caps;}
12
+ div.columns{display: flex; gap: min(4vw, 1.5em);}
13
+ div.column{flex: auto; overflow-x: auto;}
14
+ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
15
+ /* The extra [class] is a hack that increases specificity enough to
16
+ override a similar rule in reveal.js */
17
+ ul.task-list[class]{list-style: none;}
18
+ ul.task-list li input[type="checkbox"] {
19
+ font-size: inherit;
20
+ width: 0.8em;
21
+ margin: 0 0.8em 0.2em -1.6em;
22
+ vertical-align: middle;
23
+ }
24
+ .display.math{display: block; text-align: center; margin: 0.5rem auto;}
25
+ </style>
26
+ <link rel="stylesheet" href="css/styles.css" />
27
+ <!--[if lt IE 9]>
28
+ <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
29
+ <![endif]-->
30
+ </head>
31
+ <body>
32
+ <p class="navbar">
33
+ <span class="smallcaps">= <strong>“Sancho” Pages Puncher</strong> = <a
34
+ href="readme.html">Readme</a> ~ <a href="changelog.html">Changelog</a> ~
35
+ <a href="story.html">Story</a> ~ <a
36
+ href="https://github.com/nvoynov/sancho">Github</a></span>
37
+ </p>
38
+ <header id="title-block-header">
39
+ <h1 class="title">Sancho Changelog</h1>
40
+ </header>
41
+ <nav id="TOC" role="doc-toc">
42
+ <ul>
43
+ <li><a href="#todo" id="toc-todo">[TODO]</a></li>
44
+ <li><a href="#unreleased" id="toc-unreleased">[Unreleased]</a></li>
45
+ <li><a href="#section" id="toc-section">[0.4.0] - 2024-03-07</a></li>
46
+ <li><a href="#section-1" id="toc-section-1">[0.3.0] -
47
+ 2023-02-11</a></li>
48
+ <li><a href="#section-2" id="toc-section-2">[0.2.0] -
49
+ 2023-01-30</a></li>
50
+ <li><a href="#section-3" id="toc-section-3">[0.1.0] -
51
+ 2023-01-28</a></li>
52
+ </ul>
53
+ </nav>
54
+ <h2 id="todo">[TODO]</h2>
55
+ <ul class="task-list">
56
+ <li><label><input type="checkbox" />fix config.ru for serving
57
+ locally</label></li>
58
+ <li><label><input type="checkbox" />having template, is there any sense
59
+ in header, footer?</label></li>
60
+ <li><label><input type="checkbox" />page collections with own collection
61
+ layout and index.html</label></li>
62
+ </ul>
63
+ <h2 id="unreleased">[Unreleased]</h2>
64
+ <h2 id="section">[0.4.0] - 2024-03-07</h2>
65
+ <ul>
66
+ <li>designed new model based on Data.define</li>
67
+ <li>designed tests for Rake tasks</li>
68
+ <li>improved <code>sancho:init</code> output</li>
69
+ <li>improved <code>sancho:docs</code> using Dir.mktempdir</li>
70
+ </ul>
71
+ <h2 id="section-1">[0.3.0] - 2023-02-11</h2>
72
+ <ul>
73
+ <li>packed as a gem</li>
74
+ <li>added <code>sancho:init</code> rake task</li>
75
+ </ul>
76
+ <h2 id="section-2">[0.2.0] - 2023-01-30</h2>
77
+ <ul>
78
+ <li>added styles (pandoc.css with sticky navbar and changed code)</li>
79
+ <li>added rackup</li>
80
+ </ul>
81
+ <h2 id="section-3">[0.1.0] - 2023-01-28</h2>
82
+ <ul>
83
+ <li>Project released</li>
84
+ </ul>
85
+ <div id="footer">
86
+ <hr />
87
+ <p>© 2022-2023 <a href="http://nvoynov.github.io/">nvoynov</a></p>
88
+ </div>
89
+ </body>
90
+ </html>