runeblog 0.2.90 → 0.2.95
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/bin/blog +10 -7
- data/{lib → empty_view/config}/exper/2svg.lt3 +0 -0
- data/{lib → empty_view/config}/exper/gen_svg.rb +0 -0
- data/empty_view/config/exper/meta.html +10 -0
- data/{lib → empty_view/config}/exper/s2.html +0 -0
- data/{lib → empty_view/config}/exper/varmint.rb +0 -0
- data/empty_view/config/facebook/facebook.rb +37 -0
- data/empty_view/config/facebook/fb.html +10 -0
- data/empty_view/config/facebook/fb.js +13 -0
- data/empty_view/config/reddit/config.txt +6 -0
- data/empty_view/config/reddit/notes.txt +4 -0
- data/empty_view/config/reddit/reddit_post_url.py +34 -0
- data/empty_view/config/reddit/redpost.rb +43 -0
- data/empty_view/config/reddit/the-graffiti-wall.html +91 -0
- data/empty_view/config/twitter/tw.html +12 -0
- data/empty_view/config/twitter/tw.js +5 -0
- data/{lib/exper/fbtw.rb → empty_view/config/twitter/twitter.rb} +1 -23
- data/empty_view/themes/standard/{blog → banner}/banner.lt3 +0 -0
- data/empty_view/themes/standard/banner/{about.lt3 → navbar/about.lt3} +0 -0
- data/empty_view/themes/standard/banner/{contact.lt3 → navbar/contact.lt3} +0 -0
- data/empty_view/themes/standard/banner/navbar/faq.lt3 +1 -0
- data/empty_view/themes/standard/banner/{list.data → navbar/list.data} +0 -0
- data/empty_view/themes/standard/blog/generate.lt3 +1 -1
- data/empty_view/themes/standard/global.lt3 +1 -1
- data/empty_view/themes/standard/post/generate.lt3 +1 -1
- data/empty_view/themes/standard/post/index.lt3 +8 -8
- data/empty_view/themes/standard/widgets/links/links.rb +1 -1
- data/empty_view/themes/standard/widgets/news/news.rb +1 -1
- data/empty_view/themes/standard/widgets/pages/pages.rb +2 -2
- data/empty_view/themes/standard/widgets/pinned/pinned.rb +1 -1
- data/lib/helpers-blog.rb +30 -63
- data/lib/helpers-repl.rb +3 -13
- data/lib/liveblog.rb +56 -42
- data/lib/lowlevel.rb +73 -0
- data/lib/publish.rb +6 -22
- data/lib/repl.rb +25 -16
- data/lib/runeblog.rb +46 -15
- data/lib/runeblog_version.rb +1 -17
- metadata +24 -16
- data/empty_view/remote/banner/austin-pano.jpg +0 -0
- data/empty_view/themes/standard/banner/faq.lt3 +0 -1
- data/lib/default.rb +0 -31
- data/lib/exper/callout.js +0 -10
- data/lib/exper/fbtw-js +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8c06b3d51a33a85b3420099bf6f6c40e3ac38bdc80b2c2ea5a77de81936f280
|
4
|
+
data.tar.gz: a28b089f368d4941418ace35fba818f13d7458362863002ab25d9ebefdfae706
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffd6c82a51c01169b5a045d3f8c2a4f3f2db2230458c8cc4e7eff2740a0d3a0cf424a198a3187a888dd92b3c4976dd41597bae012514b3829c4921ad8750ef04
|
7
|
+
data.tar.gz: b47ac4fd2c6733a5433cf83d6c11c71f8b41bd71681826fadc9f4f98f57338fccc45491babbac7389f51cdd2927b04dee07f85aecfe68c8c75af0807ad03bd67
|
data/bin/blog
CHANGED
@@ -25,8 +25,8 @@ end
|
|
25
25
|
def get_universal
|
26
26
|
univ = "#{@blog.root}/data/universal.lt3"
|
27
27
|
if yesno("Faster initial setup? (no: edit universal.lt3)")
|
28
|
-
author = ask("Author name: ")
|
29
|
-
site = ask("Site/domain: ")
|
28
|
+
author = ask!("Author name: ")
|
29
|
+
site = ask!("Site/domain: ")
|
30
30
|
# Now stash it...
|
31
31
|
str = File.read(univ)
|
32
32
|
str = str.gsub(/AUTHOR/, author)
|
@@ -39,10 +39,10 @@ end
|
|
39
39
|
|
40
40
|
def get_global
|
41
41
|
if yesno("Faster view setup? (no: edit global.lt3)")
|
42
|
-
view_name = ask("\nFilename: ")
|
42
|
+
view_name = ask!("\nFilename: ")
|
43
43
|
@blog.create_view(view_name) # call change_view??
|
44
|
-
title = ask("View title: ")
|
45
|
-
subtitle = ask("Subtitle : ")
|
44
|
+
title = ask!("View title: ")
|
45
|
+
subtitle = ask!("Subtitle : ")
|
46
46
|
gname = "#{@blog.root}/views/#{view_name}/themes/standard/global.lt3"
|
47
47
|
text = File.read(gname)
|
48
48
|
text = text.gsub(/VIEW_NAME/, view_name)
|
@@ -50,7 +50,7 @@ def get_global
|
|
50
50
|
text = text.gsub(/VIEW_SUBTITLE/, subtitle)
|
51
51
|
File.write(gname, text)
|
52
52
|
else
|
53
|
-
view_name = ask("\nFilename: ")
|
53
|
+
view_name = ask!("\nFilename: ")
|
54
54
|
@blog.create_view(view_name) # call change_view??
|
55
55
|
vim_params = '-c ":set hlsearch" -c ":hi Search ctermfg=2 ctermbg=6" +/"\(VIEW_.*\|SITE.*\)"'
|
56
56
|
edit_file(@blog.view.dir/"themes/standard/global.lt3", vim: vim_params)
|
@@ -146,7 +146,10 @@ end
|
|
146
146
|
|
147
147
|
major, minor = RUBY_VERSION.split(".").values_at(0,1)
|
148
148
|
ver = major.to_i*10 + minor.to_i
|
149
|
-
|
149
|
+
unless ver >= 24
|
150
|
+
RubyText.stop
|
151
|
+
abort "Need Ruby 2.4 or greater"
|
152
|
+
end
|
150
153
|
|
151
154
|
include RuneBlog::Helpers # for try_read_config
|
152
155
|
|
File without changes
|
File without changes
|
@@ -0,0 +1,10 @@
|
|
1
|
+
|
2
|
+
<!-- meta tags: separate out? -->
|
3
|
+
|
4
|
+
<!-- meta property='fb:admins' content='767352779' /> -->
|
5
|
+
<meta property='og:url' content='http://rubyhacker.com/blog2/#{slug}.html'/>
|
6
|
+
<meta property='og:type' content='article'/>
|
7
|
+
<meta property='og:title' content='#{title}'/>
|
8
|
+
<meta property='og:image' content='http://rubyhacker.com/blog2/blog3b.gif'/>
|
9
|
+
<meta property='og:description' content='#{teaser}'/>
|
10
|
+
|
File without changes
|
File without changes
|
@@ -0,0 +1,37 @@
|
|
1
|
+
class Livetext::Functions
|
2
|
+
|
3
|
+
def facebook_init
|
4
|
+
fb_appid = _var("facebook.appid")
|
5
|
+
<<~HTML
|
6
|
+
window.fbAsyncInit = function() {
|
7
|
+
FB.init({
|
8
|
+
appId : '#{fb_appid}',
|
9
|
+
xfbml : true,
|
10
|
+
version : 'v2.4'
|
11
|
+
});
|
12
|
+
};
|
13
|
+
HTML
|
14
|
+
end
|
15
|
+
|
16
|
+
=begin
|
17
|
+
<!-- Needed: btw what is 'content'?
|
18
|
+
<meta property='fb:admins' content='767352779'/>
|
19
|
+
<meta property='og:url' content='http://rubyhacker.com/blog2/#{slug}.html'/>
|
20
|
+
<meta property='og:type' content='article'/>
|
21
|
+
<meta property='og:title' content='#{title}'/>
|
22
|
+
<meta property='og:image' content='http://rubyhacker.com/blog2/blog3b.gif'/>
|
23
|
+
<meta property='og:description' content='#{teaser}'/>
|
24
|
+
-->
|
25
|
+
=end
|
26
|
+
|
27
|
+
def facebook_likes
|
28
|
+
<<~HTML
|
29
|
+
<div class='fb-like'
|
30
|
+
data-share='true'
|
31
|
+
data-width='450'
|
32
|
+
data-show-faces='true'>
|
33
|
+
</div>
|
34
|
+
HTML
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
|
2
|
+
import re
|
3
|
+
import praw
|
4
|
+
|
5
|
+
f = open("reddit/config.txt", "r")
|
6
|
+
lines = f.readlines()
|
7
|
+
f.close()
|
8
|
+
|
9
|
+
dict = {}
|
10
|
+
for line in lines:
|
11
|
+
data = re.split(" +", line)
|
12
|
+
dict[data[0]] = data[1].rstrip()
|
13
|
+
|
14
|
+
|
15
|
+
reddit = praw.Reddit(user_agent = dict['user_agent'],
|
16
|
+
client_id = dict['client_id'],
|
17
|
+
client_secret = dict['client_secret'],
|
18
|
+
username = dict['username'],
|
19
|
+
password = dict['password'])
|
20
|
+
|
21
|
+
file = open("/tmp/reddit-post-url.txt", "r") # gaahhh
|
22
|
+
lines = file.readlines()
|
23
|
+
title = lines[0].rstrip()
|
24
|
+
url = lines[1].rstrip()
|
25
|
+
|
26
|
+
subred = reddit.subreddit(dict['subreddit'])
|
27
|
+
rid = subred.submit(title = title, url = url)
|
28
|
+
|
29
|
+
print(rid)
|
30
|
+
|
31
|
+
# submission = reddit.submission(id='edmcwf')
|
32
|
+
# print(submission.title)
|
33
|
+
# print(submission.url)
|
34
|
+
|
@@ -0,0 +1,43 @@
|
|
1
|
+
app_name = "raido1"
|
2
|
+
app_client = "rAyZILgqGB7uHQ"
|
3
|
+
secret = "0CqLXyFu6ABb1MrErWRsB7Bo-i8"
|
4
|
+
|
5
|
+
https://www.reddit.com/api/v1/authorize?client_id=rAyZILgqGB7uHQ&response_type=code&state=abc237def&redirect_uri=http%3A%2F%2Frubyhacker.com&duration=permanent&scope=identity%20edit%20flair%20history%20modconfig%20modflair%20modlog%20modposts%20modwiki%20mysubreddits%20privatemessages%20read%20report%20save%20submit%20subscribe%20vote%20wikiedit%20wikiread
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
require 'net/http'
|
10
|
+
require 'uri'
|
11
|
+
require 'json'
|
12
|
+
|
13
|
+
|
14
|
+
=begin
|
15
|
+
get_token = URI.parse("https://www.reddit.com/api/v1/access_token")
|
16
|
+
data = {
|
17
|
+
grant_type: authorization_code
|
18
|
+
code=CODE
|
19
|
+
redirect_uri=URI
|
20
|
+
}
|
21
|
+
=end
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
uri = URI.parse("http://reddit.com/api/submit")
|
26
|
+
|
27
|
+
header = {'Content-Type': 'text/json'}
|
28
|
+
data = {
|
29
|
+
sr: "RubyElixirEtc",
|
30
|
+
kind: "link",
|
31
|
+
title: "[Post] This is my title",
|
32
|
+
url: "http://rubyhacker.com/around_austin/permalink/the-graffiti-wall.html"
|
33
|
+
}
|
34
|
+
|
35
|
+
# Create the HTTP objects
|
36
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
37
|
+
request = Net::HTTP::Post.new(uri.request_uri, header)
|
38
|
+
request.body = user.to_json
|
39
|
+
|
40
|
+
# Send the request
|
41
|
+
response = http.request(request)
|
42
|
+
|
43
|
+
|
@@ -0,0 +1,91 @@
|
|
1
|
+
|
2
|
+
<html>
|
3
|
+
<!-- Generated from /Users/Hal/Dropbox/files/runeblog/.blogs/views/around_austin/themes/standard/global.lt3 on 2019-12-19; editing not recommended. -->
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
<meta charset="utf-8">
|
9
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
10
|
+
<title>
|
11
|
+
Around Austin | The view from downtown...
|
12
|
+
</title>
|
13
|
+
<meta name="generator" content="Runeblog v 0.2.91">
|
14
|
+
<meta property="og:title" content="The graffiti wall ">
|
15
|
+
<meta property="og:locale" content="en_US">
|
16
|
+
<meta property="description" content="RIP, Hope Gallery">
|
17
|
+
<meta property="og:description" content="The view from downtown...">
|
18
|
+
<link rel="canonical" href="http://SITE">
|
19
|
+
<meta property="og:url" content="http://SITE">
|
20
|
+
<meta property="og:site_name" content="Around Austin">
|
21
|
+
<link type="application/atom+xml" rel="alternate" href="http://SITE/feed.xml" title="Around Austin">
|
22
|
+
<link rel="shortcut icon" type="image/x-icon" href="etc/favicon.ico">
|
23
|
+
<link rel="apple-touch-icon" href="etc/favicon.ico">
|
24
|
+
<link rel="stylesheet" href="etc/blog.css">
|
25
|
+
<body>
|
26
|
+
|
27
|
+
<section class="post">
|
28
|
+
<div class="entry-content">
|
29
|
+
<table border=0 width=100%><tr>
|
30
|
+
<td align=left valign=bottom><h2 class="post-title">The graffiti wall</h2></td>
|
31
|
+
<td align=right valign=top><font size=-5><br></font>December 2, 2019</td>
|
32
|
+
</tr></table><hr>
|
33
|
+
<!-- Post number 3 -->
|
34
|
+
|
35
|
+
|
36
|
+
RIP, Hope Gallery
|
37
|
+
|
38
|
+
|
39
|
+
<div class='mydrop'>I</div>
|
40
|
+
<div style="padding-top: 1px">t's been a while since I was there. They say it was torn down
|
41
|
+
while I wasn't looking. Never tagged anything there, of course, nor
|
42
|
+
anywhere else. Spraypainting public places isn't my thing, but in this
|
43
|
+
case I condoned it because it was sort of there for that purpose.
|
44
|
+
|
45
|
+
<p>
|
46
|
+
This fake entry is a long one so as to demonstrate both drop-caps
|
47
|
+
(above) and an inset quote. Blah blah blah. Lorem ipsum dolor and
|
48
|
+
a partridge in a pear tree.
|
49
|
+
|
50
|
+
<p>
|
51
|
+
</p>
|
52
|
+
Wherever you go, there you are. Last night I saw upon the stair
|
53
|
+
a little man who was not there. He wasn't there again today; I
|
54
|
+
wish, I wish he'd go away. As far as we know, our computer has
|
55
|
+
<div style='float:left; width: 20%; padding:8px; padding-right:12px'><b><i> On a clean disk, you can seek forever.</i></b></div>
|
56
|
+
never had an undetected error.
|
57
|
+
On a clean disk, you can seek forever.
|
58
|
+
And never let it be denied that
|
59
|
+
pobbles are happier without their toes. And may your snark never
|
60
|
+
be a boojum. How do you know you aren't dreaming right now? When
|
61
|
+
you see a butterfly, think of Chuang Tzu.
|
62
|
+
<p>
|
63
|
+
Contact light. Houston, this is Tranquility Base. The Eagle has
|
64
|
+
landed. That's one small step for (a) man, one giant leap for
|
65
|
+
mankind.
|
66
|
+
|
67
|
+
<p>
|
68
|
+
Here's the PDF of <a style='text-decoration: none' href='http://rubyhacker.com/blog2/rubydino.pdf'>"Ruby for the Old-Time C Programmer"</a>
|
69
|
+
|
70
|
+
<p>
|
71
|
+
Pity this busy monster, manunkind, not. Pity rather... Listen:
|
72
|
+
There's a hell of a universe next door; let's go.
|
73
|
+
|
74
|
+
<p>
|
75
|
+
</div>
|
76
|
+
</section>
|
77
|
+
|
78
|
+
<br>
|
79
|
+
<!-- <script src='https://redditjs.com/subreddit.js' data-subreddit='RubyElixirEtc' data-width=600></script> -->
|
80
|
+
<!-- https://www.reddit.com/r/RubyElixirEtc/comments/ed48ra/post_this_is_only_a_test/ -->
|
81
|
+
|
82
|
+
<hr>
|
83
|
+
<table width=100%><tr>
|
84
|
+
<td width=10%><a style="text-decoration: none" href="javascript:history.go(-1)">[Back]</a></td>
|
85
|
+
<td width=10%><a style="text-decoration: none" href="http://SITE/VIEW_NAME/permalink/the-graffiti-wall.html"> [permalink] </a></td>
|
86
|
+
<td width=80% align=right><font size=-3></font></td></tr></table>
|
87
|
+
<hr>
|
88
|
+
<script src='https://redditjs.com/post.js' data-url="ed48ra" data-width=800 ></script>
|
89
|
+
|
90
|
+
</body>
|
91
|
+
</html>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
|
2
|
+
<!-- Twitter: share, follow -->
|
3
|
+
|
4
|
+
<a href='https://twitter.com/share'
|
5
|
+
class='twitter-share-button'
|
6
|
+
data-text='#{title}'
|
7
|
+
data-url='#{'url'}'
|
8
|
+
data-via='hal_fulton'
|
9
|
+
data-related='hal_fulton'>Tweet</a>
|
10
|
+
|
11
|
+
<a href='https://twitter.com/hal_fulton' class='twitter-follow-button' data-show-count='false'>Follow @hal_fulton</a>
|
12
|
+
|
@@ -1,18 +1,6 @@
|
|
1
|
-
|
2
1
|
class Livetext::Functions
|
3
2
|
|
4
|
-
|
5
|
-
fb_appid = _var("facebook.appid")
|
6
|
-
<<~HTML
|
7
|
-
window.fbAsyncInit = function() {
|
8
|
-
FB.init({
|
9
|
-
appId : '#{fb_appid}',
|
10
|
-
xfbml : true,
|
11
|
-
version : 'v2.4'
|
12
|
-
});
|
13
|
-
};
|
14
|
-
HTML
|
15
|
-
end
|
3
|
+
# Needed for Twitter??
|
16
4
|
|
17
5
|
=begin
|
18
6
|
<!-- Needed: btw what is 'content'?
|
@@ -25,16 +13,6 @@ class Livetext::Functions
|
|
25
13
|
-->
|
26
14
|
=end
|
27
15
|
|
28
|
-
def facebook_likes
|
29
|
-
<<~HTML
|
30
|
-
<div class='fb-like'
|
31
|
-
data-share='true'
|
32
|
-
data-width='450'
|
33
|
-
data-show-faces='true'>
|
34
|
-
</div>
|
35
|
-
HTML
|
36
|
-
end
|
37
|
-
|
38
16
|
def twitter_share
|
39
17
|
name, title, url = "", "", "" # FIXME
|
40
18
|
<<~HTML
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
.include ../../widgets/pages/faq.lt3
|
File without changes
|
@@ -6,19 +6,19 @@
|
|
6
6
|
. likely be the place.
|
7
7
|
. --------------------------------------------------
|
8
8
|
|
9
|
-
.mixin liveblog
|
10
|
-
. ^ get rid of this later
|
11
|
-
|
12
9
|
.post 0
|
13
10
|
|
14
|
-
.title
|
11
|
+
.title This is my title
|
15
12
|
.pubdate 2019-07-09
|
16
|
-
.views
|
13
|
+
.views stuff
|
17
14
|
.tags
|
18
15
|
|
19
16
|
.teaser
|
20
|
-
|
21
|
-
|
17
|
+
This is only a short excerpt from the top of the blog post.
|
22
18
|
.end
|
23
|
-
|
19
|
+
|
20
|
+
And now we continue the post.
|
21
|
+
Do we have anything to say?
|
22
|
+
|
23
|
+
Apparently not much.
|
24
24
|
|