occams 1.0.5 → 1.0.6
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/Gemfile +0 -1
- data/README.md +10 -6
- data/TODOS.md +2 -1
- data/lib/occams/content/tags/children.rb +50 -0
- data/lib/occams/content/tags/siblings.rb +1 -3
- data/lib/occams/content.rb +1 -0
- data/lib/occams/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9d020dd30a0e74d5c86211e061b5018c726f9a07e364c96f9c9cc65ebf4762d3
|
|
4
|
+
data.tar.gz: cf50ea17c8fcc9a5bdc6baa008dbfb7503b0d6acbdfa05389f706d6ce934adce
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bf49d617a083d592d67dd6b5f72c2f3fb15618c64b5a954dd7fdefc71a578b1800279610bce9322867ef5ca5beef1cf4fa3356e766d1b4520810efb79f89ffbd
|
|
7
|
+
data.tar.gz: 37c7949c2bac89e22933d44177a6a713559fe14db0488062f9564cacd240a8b608e56275a4228d457411abce7478c595488d5b399cbd0566f4daafcb2a261942
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.0.6 - 9/5/2023
|
|
4
|
+
|
|
5
|
+
- Fixed [cms:siblings Nav tag](https://github.com/avonderluft/occams/wiki/Content-Tags#siblings) to handle edge case when page(s) are excluded by the `exclude` parameter
|
|
6
|
+
- Added [cms:children Nav tag](https://github.com/avonderluft/occams/wiki/Content-Tags#children) to render unordered list of links for children of current page
|
|
7
|
+
|
|
3
8
|
## v1.0.5 - 8/31/2023
|
|
4
9
|
|
|
5
10
|
- All tests now green on Rails 6.1 and 7.0, each tested with rubies 2.7.8, 3.1.4 and 3.2.2.
|
data/Gemfile
CHANGED
|
@@ -10,7 +10,6 @@ group :development, :test do
|
|
|
10
10
|
gem 'capybara', '~> 3.39.0'
|
|
11
11
|
gem 'image_processing', '>= 1.2'
|
|
12
12
|
gem 'kaminari', '~> 1.2', '>= 1.2.2'
|
|
13
|
-
gem 'puma', '~> 3.12.2'
|
|
14
13
|
gem 'rubocop', '~> 0.55.0', require: false
|
|
15
14
|
gem 'selenium-webdriver', '~> 4.9.0'
|
|
16
15
|
gem 'sqlite3', '~> 1.4.2'
|
data/README.md
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
# ocCaM'S
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Raison d'etre
|
|
6
|
-
|
|
7
|
-
ocCaM'S is a revival of [ComfortableMexicanSofa](https://github.com/comfy/comfortable-mexican-sofa), with all due thanks and acknowledgements to [Oleg Khabarov](https://github.com/GBH), et al. 'Comfy' was the simplest and cleanest Rails-based CMS that I had used. Its last commit was in 2020, and I simply did not want to see it die on the vine as [RadiantCMS](https://github.com/radiant/radiant) did some years ago.
|
|
3
|
+
[](http://rubygems.org/gems/occams)
|
|
4
|
+
[](http://rubygems.org/gems/occams)
|
|
8
5
|
|
|
9
6
|
```
|
|
10
7
|
____ __ __ _ ____
|
|
@@ -15,6 +12,13 @@ ocCaM'S is a revival of [ComfortableMexicanSofa](https://github.com/comfy/comfor
|
|
|
15
12
|
|
|
16
13
|
```
|
|
17
14
|
|
|
15
|
+
Prefer Simplicity.
|
|
16
|
+
|
|
17
|
+
## Raison d'etre
|
|
18
|
+
|
|
19
|
+
ocCaM'S is a revival of [ComfortableMexicanSofa](https://github.com/comfy/comfortable-mexican-sofa), with all due thanks and acknowledgements to [Oleg Khabarov](https://github.com/GBH), et al. 'Comfy' was the simplest and cleanest Rails-based CMS that I had used. Its last commit was in 2020, and I simply did not want to see it die on the vine as [RadiantCMS](https://github.com/radiant/radiant) did some years ago.
|
|
20
|
+
|
|
21
|
+
|
|
18
22
|
## The name
|
|
19
23
|
|
|
20
24
|
ocCaM'S, pronounced "AH-kums" is a nod to [Occam's Razor](https://en.wikipedia.org/wiki/Occam%27s_razor) - for this Rails-based Content Management System endeavors to follow the principle that the preferred solution is that which is simplest and built with the smallest possible set of components.
|
|
@@ -36,7 +40,7 @@ Referring to the [ComfortableMexicanSofa](https://github.com/comfy/comfortable-m
|
|
|
36
40
|
## Dependencies
|
|
37
41
|
|
|
38
42
|
* File attachments are handled by [ActiveStorage](https://github.com/rails/rails/tree/master/activestorage). Make sure that you can run appropriate migrations by running: `rails active_storage:install` and then `rake db:migrate`
|
|
39
|
-
* Image resizing is done
|
|
43
|
+
* Image resizing is done with[ImageMagick](http://www.imagemagick.org/script/download.php), so make sure it's installed
|
|
40
44
|
* Pagination is handled by [kaminari](https://github.com/amatsuda/kaminari) or [will_paginate](https://github.com/mislav/will_paginate). Please add one of those to your Gemfile.
|
|
41
45
|
|
|
42
46
|
## Compatibility
|
data/TODOS.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# ToDos
|
|
2
2
|
|
|
3
|
-
- set up CI
|
|
3
|
+
- set up Buildkite CI and add build badge to README
|
|
4
|
+
- add duplicate page function in admin UI
|
|
4
5
|
- add admin content search to list layouts, pages and snippets - see https://blog.robertsj.com/search/
|
|
5
6
|
- add application console for testing
|
|
6
7
|
- add feature to resize file_link'd images
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Nav Tag for unordered list of links to the children of the current page
|
|
4
|
+
# {{ cms:children }}
|
|
5
|
+
# {{ cms:children style: "font-weight: bold", exclude: "404-page, search-page" }}
|
|
6
|
+
# To customize your children style, add a 'children' id to your CSS, e.g
|
|
7
|
+
# #children {
|
|
8
|
+
# color: #006633;
|
|
9
|
+
# font-size: 90%;
|
|
10
|
+
# margin-bottom: 4px;
|
|
11
|
+
# font-style: italic;
|
|
12
|
+
# }
|
|
13
|
+
# and/or pass in style overrides with the 'style' parameter, as above
|
|
14
|
+
#
|
|
15
|
+
# To exclude children, list their slugs with the 'exclude' parameter
|
|
16
|
+
# as comma-delimited string, e.g. as above - exclude: "404-page, search-page"
|
|
17
|
+
|
|
18
|
+
class Occams::Content::Tag::Children < Occams::Content::Tag
|
|
19
|
+
attr_reader :list, :style, :locals
|
|
20
|
+
|
|
21
|
+
def initialize(context:, params: [], source: nil)
|
|
22
|
+
super
|
|
23
|
+
@locals = params.extract_options!
|
|
24
|
+
@style = ''
|
|
25
|
+
@style = "<style>#children {#{@locals['style']}}</style>" if @locals['style']
|
|
26
|
+
@exclude = []
|
|
27
|
+
@exclude = @locals['exclude'].split(',') if @locals['exclude']
|
|
28
|
+
@list = ''
|
|
29
|
+
# ActiveRecord_Associations_CollectionProxy
|
|
30
|
+
page_children = context.children.order(:position).to_ary
|
|
31
|
+
page_children.delete_if { |child| @exclude.include? child.slug }
|
|
32
|
+
return unless page_children.any?
|
|
33
|
+
|
|
34
|
+
@list = '<ul id="children">'
|
|
35
|
+
page_children.each do |c|
|
|
36
|
+
next if Rails.env == 'production' && !c.is_published
|
|
37
|
+
|
|
38
|
+
@list += "<li><a href=#{c.url(relative: true)}>#{c.label}</a></li>"
|
|
39
|
+
end
|
|
40
|
+
@list += '</ul>'
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def content
|
|
44
|
+
format("#{@style}#{@list}")
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
Occams::Content::Renderer.register_tag(
|
|
49
|
+
:children, Occams::Content::Tag::Children
|
|
50
|
+
)
|
|
@@ -6,10 +6,8 @@
|
|
|
6
6
|
# To customize your siblings style, add a 'siblings' id to your CSS, e.g
|
|
7
7
|
# #siblings {
|
|
8
8
|
# color: #006633;
|
|
9
|
-
# font-family: Verdana, Arial, Helvetica, sans-serif;
|
|
10
9
|
# font-size: 95%;
|
|
11
10
|
# margin-top: 12px;
|
|
12
|
-
# margin-bottom: 4px;
|
|
13
11
|
# font-style: italic;
|
|
14
12
|
# }
|
|
15
13
|
# and/or pass in style overrides with the 'style' parameter (see above)
|
|
@@ -33,11 +31,11 @@ class Occams::Content::Tag::Siblings < Occams::Content::Tag
|
|
|
33
31
|
|
|
34
32
|
prevp = false
|
|
35
33
|
sibs = context.self_and_siblings.sort_by(&:position)
|
|
34
|
+
sibs.delete_if { |sib| @exclude.include? sib.slug }
|
|
36
35
|
page_idx = sibs.index(context)
|
|
37
36
|
sibs.each do |sib|
|
|
38
37
|
sib_idx = sibs.index(sib)
|
|
39
38
|
next if sibs.index(sib) == page_idx
|
|
40
|
-
next if @exclude.include? sib.slug
|
|
41
39
|
next if Rails.env == 'production' && !sib.is_published
|
|
42
40
|
|
|
43
41
|
if sib_idx == page_idx - 1
|
data/lib/occams/content.rb
CHANGED
data/lib/occams/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: occams
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew vonderLuft
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-09-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: active_link_to
|
|
@@ -685,6 +685,7 @@ files:
|
|
|
685
685
|
- lib/occams/content/tags/audio.rb
|
|
686
686
|
- lib/occams/content/tags/breadcrumbs.rb
|
|
687
687
|
- lib/occams/content/tags/checkbox.rb
|
|
688
|
+
- lib/occams/content/tags/children.rb
|
|
688
689
|
- lib/occams/content/tags/date.rb
|
|
689
690
|
- lib/occams/content/tags/datetime.rb
|
|
690
691
|
- lib/occams/content/tags/file.rb
|