jekyll-theme-ascii 0.1.4 → 0.2.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: c1f17a0869e02037b27d7eaf386318be1aac55e7e2516b52296846f0f462a46b
4
- data.tar.gz: dcb5ef2abb390080f3efc5e07c03b64512cdbc33766c424f35dd1409aac8a854
3
+ metadata.gz: 1a7114952645fd140b27a67ac1e05c610dad802636f913fd1954579eef45f8e3
4
+ data.tar.gz: 553f5b5b1de4f36174f068c0a185498ad97f6491416b39e7e03060efd79b9fed
5
5
  SHA512:
6
- metadata.gz: 49b11c453d56b28389a5f24e5f659c23934b1240d95afd9312ffb03d8f652f4af64431ddd8c86ac2b136053db6c578bdb1df62b91684caedc94e0a35f5b3258b
7
- data.tar.gz: ba594eeddf43a487178593d885e500de27df06e7b6e553ce40f1e29e941f27a5b8206882970df4823272c3dfd643e86d2446cea3fd46da2330a6f6d52a6e17f4
6
+ metadata.gz: 92ed049b03c20b2458d60d6f0c415131f642d23eff41decb350e7620234a150c1562615d5c2e406cc9d1745c73e14cda279958febb61f48206c5b35bb26ace1c
7
+ data.tar.gz: 62912b16d0a01b8d11214e4c726d1666f5b7edc70543df2742c79440a32e92b2489c427116d549c85d40da94d5840a88b1e7367402bc2ab5933266df0aa91d1b
@@ -0,0 +1,10 @@
1
+ {%- assign mastodon_host = page.mastodon_comments.host | default: site.mastodon_comments.host -%}
2
+ <div style="border-top: dashed 1px rgba(219, 219, 219, 0.9)">
3
+ <h2>Comments in Mastodon</h2>
4
+ <div id="mastodon_comments_list" style="margin-top: 22px;">
5
+ </div>
6
+ </div>
7
+ <script src="/assets/js/mastodon_comments.js"></script>
8
+ <script>
9
+ window.onload = mastodon_comments_load('{{ mastodon_host }}', '{{ page.mastodon_comments.toot_id }}', 'mastodon_comments_list')
10
+ </script>
data/_layouts/post.html CHANGED
@@ -8,7 +8,7 @@ layout: default
8
8
 
9
9
  {{ content }}
10
10
 
11
- {%- if page.mastodon_comments.toot_id -%}
11
+ {%- if page.mastodon_comments.toot_id and (page.mastodon_comments.host or site.mastodon_comments.host) -%}
12
12
  {%- include mastodon_comments.html -%}
13
13
  {%- endif -%}
14
14
 
@@ -0,0 +1,73 @@
1
+ function mastodon_comments_load(host, toot_id, element) {
2
+ fetch(`https://${host}/api/v1/statuses/${toot_id}`)
3
+ .then(function (response) {
4
+ return response.json()
5
+ })
6
+ .then(function (data) {
7
+ mastodon_comment_render(data, element)
8
+ fetch(`https://${host}/api/v1/statuses/${toot_id}/context`)
9
+ .then(function (response) {
10
+ return response.json()
11
+ })
12
+ .then(function (data) {
13
+ if (data['descendants'] && Array.isArray(data['descendants']) && data['descendants'].length > 0) {
14
+ data['descendants'].forEach(function (reply) {
15
+ mastodon_comment_render(reply, element)
16
+ })
17
+ }
18
+ })
19
+ })
20
+ }
21
+
22
+ function mastodon_comment_render(toot, element) {
23
+ console.log('Comment:')
24
+ console.log(toot)
25
+ container = document.createElement('a')
26
+ container.href = toot.url
27
+ container.style.textDecoration = 'none'
28
+ comment = document.createElement('div')
29
+ comment.style.lineHeight = 'normal'
30
+ comment.style.background = '#111111'
31
+ comment.style.borderRadius = '10px'
32
+ comment.style.padding = '10px'
33
+ comment.style.marginBottom = '10px'
34
+ comment.style.paddingBottom = '1px'
35
+ comment.append(mastodon_comment_create_author(toot.account))
36
+ comment_content = document.createElement('div')
37
+ comment_content.innerHTML = toot.content
38
+ comment.append(comment_content)
39
+ container.append(comment)
40
+ document.getElementById(element).append(container)
41
+ }
42
+
43
+ function mastodon_comment_create_author(account) {
44
+ author = document.createElement('a')
45
+ author.style.display = 'flex'
46
+ author.style.gap = '10px'
47
+ author.href = account.url
48
+ author_avatar = document.createElement('img')
49
+ author_avatar.src = account.avatar
50
+ author_avatar.width = 46
51
+ author_avatar.height = 46
52
+ author_avatar.style.borderRadius = '5px'
53
+ author.append(author_avatar)
54
+ author_info = document.createElement('span')
55
+ author_display_name = document.createElement('strong')
56
+ author_display_name.style.display = 'block'
57
+ author_display_name.append(document.createTextNode(account.display_name))
58
+ author_info.append(author_display_name)
59
+ author_account = document.createElement('span')
60
+ author_account.append(document.createTextNode(mastodon_acct_full(account)))
61
+ author_info.append(author_account)
62
+ author.append(author_info)
63
+ return author
64
+ }
65
+
66
+ function mastodon_acct_full(account) {
67
+ acct = account.acct
68
+ if (acct.indexOf('@') == -1) {
69
+ account_url = new URL(account.url)
70
+ acct += '@' + account_url.hostname
71
+ }
72
+ return '@' + acct
73
+ }
metadata CHANGED
@@ -1,71 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-ascii
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Antonio Vázquez Blanco
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-24 00:00:00.000000000 Z
11
+ date: 2022-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.9.0
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 3.9.0
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jekyll-feed
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.15.1
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.15.1
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: jekyll-seo-tag
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 2.7.1
47
+ version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 2.7.1
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: jemoji
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 0.12.0
61
+ version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 0.12.0
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -96,6 +96,7 @@ files:
96
96
  - _includes/google-analytics.html
97
97
  - _includes/head.html
98
98
  - _includes/header.html
99
+ - _includes/mastodon_comments.html
99
100
  - _layouts/default.html
100
101
  - _layouts/home.html
101
102
  - _layouts/page.html
@@ -104,6 +105,7 @@ files:
104
105
  - _sass/jekyll-theme-ascii/skins/classic-highlighting.scss
105
106
  - _sass/jekyll-theme-ascii/skins/classic.scss
106
107
  - assets/css/style.scss
108
+ - assets/js/mastodon_comments.js
107
109
  homepage: https://github.com/antoniovazquezblanco/jekyll-theme-ascii
108
110
  licenses:
109
111
  - MIT