solutus 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7de81fd93b57d53407c0e146559143c7ac95237bb21199afd0d3aeea017c5b94
4
- data.tar.gz: 3dce67dce9f05d447159a53517311f1892efa92a719db866322fd055a6442920
3
+ metadata.gz: a476906bf83edc539d3566e7992844d9d2e1438c1c252c8f6a9fcbca376e5526
4
+ data.tar.gz: 0bc58bdcce19dcfcebc4f5a14020999c44bacccad8bed77afd9ed5f75a92b341
5
5
  SHA512:
6
- metadata.gz: 4d9c10aa6739895a94e3949d123579393e3c38c4ef6f699f68479f2af6006dcde21a424b23d01c50e45a8e980568fa240e1df185fe786c354dd39efe71a3f340
7
- data.tar.gz: 2664ed3b5e4c2c9edfe072cf2a9200173697d93154bc62ad5c47c6289df4d1d21641af1884178a526814c72ed3f9d3966d5f6a6983ae4ba6571d9d0977d74f0a
6
+ metadata.gz: 78a2dca0440d97315e4099d2ec5c2d1476492b8461674217dae22de396953ace70bb6aee31016da34c0e8e7422a4e3efe011f20991c243c568b022daa2366ad4
7
+ data.tar.gz: 102d3a7364083e90c5df5f6348e369bc99e212534755311e6a2f776bbe2fc12cab969b1d4f8919675b08163d07aa8046602021b19402be933d1c66f0f717a080
@@ -6,6 +6,7 @@ require 'redcarpet'
6
6
  require 'json'
7
7
  require 'nokogiri'
8
8
  require 'digest'
9
+ require "rubygems"
9
10
 
10
11
  #TODO: Add support for tags
11
12
  #TODO: Make stress tests
@@ -29,6 +30,8 @@ class Solutus
29
30
  PASSWORD_FILE = "password.txt"
30
31
  DAY_ENDINGS = ["th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th", "th", "st"]
31
32
 
33
+ VERSION = '0.1.2'
34
+
32
35
  @@blog_urls = Hash.new
33
36
  @@page_urls = Array.new
34
37
 
@@ -72,6 +75,9 @@ class Solutus
72
75
  if !params["password"]
73
76
  return 'no password'
74
77
  end
78
+ if !File.file?(PASSWORD_FILE)
79
+ render_login("Please set your password with <code>solutus password *****</code>")
80
+ end
75
81
  given_password_hash = Digest::MD5.hexdigest params["password"]
76
82
  password = File.read(PASSWORD_FILE)
77
83
  puts given_password_hash.to_s
@@ -94,7 +100,7 @@ class Solutus
94
100
 
95
101
  get "/edit" do
96
102
  if !session[:verified]
97
- return render_login()
103
+ return render_login("Please log in!")
98
104
  end
99
105
  render_index
100
106
  end
@@ -108,7 +114,7 @@ class Solutus
108
114
 
109
115
  post "/savepage" do
110
116
  if !session[:verified]
111
- return render_login("You were logged out.")
117
+ return "error"
112
118
  end
113
119
  path = params["path"]
114
120
 
@@ -153,7 +159,7 @@ class Solutus
153
159
 
154
160
  post "/savepost" do
155
161
  if !session[:verified]
156
- return render_login("You were logged out.")
162
+ return "error"
157
163
  end
158
164
  path = params["path"]
159
165
  f = File.open(path, "r")
@@ -175,6 +181,14 @@ class Solutus
175
181
  "saved post @ #{path}"
176
182
  end
177
183
 
184
+ post "/publish" do
185
+ if !session[:verified]
186
+ return "error"
187
+ end
188
+ Solutus.command("deploy")
189
+ "deployed"
190
+ end
191
+
178
192
  get "/:page" do
179
193
  path = File.join(settings.public_folder, params['page'], 'index.html')
180
194
  if File.file?(path)
@@ -334,7 +348,10 @@ class Solutus
334
348
  start_time = Time.now
335
349
 
336
350
  if args.length >= 1
337
- if args[0] == "deploy"
351
+ if ["-v", "--version"].include?(args[0])
352
+ puts VERSION
353
+ return
354
+ elsif args[0] == "deploy"
338
355
  deploy
339
356
  elsif args[0] == "build"
340
357
  build
@@ -32,7 +32,7 @@
32
32
 
33
33
  <body>
34
34
  <h1>Editing <span style="border: 1px dotted gray" id="title-input" contenteditable>{{title}}</span></h1>
35
- <code>{{path}}</code> ({{date}})
35
+ <code>{{path}}</code> (Created {{date}})
36
36
  <p>
37
37
  [<a href="/edit">Back to Edit</a>]
38
38
  {{#canview}}
@@ -22,15 +22,17 @@
22
22
  color: #4286f4;
23
23
  }
24
24
  </style>
25
+ <script src="https://cdn.jsdelivr.net/npm/jquery@3.2.1/dist/jquery.min.js"></script>
25
26
  </head>
26
27
 
27
28
  <body>
28
29
  <h1>Editing {{name}}</h1>
29
30
  <p>[<a href="/">View Site</a>]</p>
31
+ <p>[<a href="http://{{domain}}">View Public Site @ {{domain}}</a>]</p>
30
32
  <p>
31
33
  <form method="get" action="/editpage">
32
34
  <fieldset>
33
- <legend>Edit Page:</legend>
35
+ <legend>Edit Page</legend>
34
36
  {{{pages}}}
35
37
  <p><button type="submit">Edit page</button></fieldset></p>
36
38
  </fieldset>
@@ -39,7 +41,7 @@
39
41
  <p>
40
42
  <form method="post" action="/newpost">
41
43
  <fieldset>
42
- <legend>New Blog Post:</legend>
44
+ <legend>New Blog Post</legend>
43
45
  <p><label for="post-title">Title:</label> <input type="text" name="post-title"></p>
44
46
  <p><button type="submit">Create new blog post</button></fieldset></p>
45
47
  </fieldset>
@@ -48,14 +50,26 @@
48
50
  <p>
49
51
  <form method="get" action="/editpost">
50
52
  <fieldset>
51
- <legend>Edit Blog Post:</legend>
53
+ <legend>Edit Blog Post</legend>
52
54
  {{{blogs}}}
53
55
  <p><button type="submit">Edit blog post</button></fieldset></p>
54
56
  </fieldset>
55
57
  </form>
56
58
  </p>
59
+ <p>
60
+ <button type="button" id="publish">Publish to web</button>
61
+ <span id="status"></span>
62
+ </p>
63
+
57
64
  <p style="text-align: center;">
58
65
  <small>Powered by <a href="https://github.com/jeromew21/solutus">Solutus</a></small>
59
66
  </p>
67
+ <script>
68
+ $("#publish").click(function() {
69
+ $.post("/publish", function(response) {
70
+ $("#status").text(response);
71
+ });
72
+ });
73
+ </script>
60
74
  </body>
61
75
  </html>
@@ -21,7 +21,7 @@
21
21
 
22
22
  <body>
23
23
  <h1>Login</h1>
24
- {{message}}
24
+ {{{message}}}
25
25
  <form method="post" action="/login">
26
26
  <p>Password: <input type="password" name="password" />
27
27
  </form>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solutus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerome Wei