no-style-please2 0.5.1 → 0.6.0
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/_config.yml +7 -3
- data/_includes/encrypted.html +55 -23
- data/_layouts/tagpage.html +12 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9afc4c08d2e387cb510730849d4365927060f101b60f4fd8222cfd94d0a6a13
|
4
|
+
data.tar.gz: fbc828eb73facfb2a644e6092b98050ffb869916c16e2211d6a7434c04522132
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bbea77bad9bb678e98415b87109e8928b4e6baae9b5c53fa7b0b26f7280b8567fb853d129858f480e4d9402c546e28e26b4a840e4e12ad6bc6069fddc74ff38a
|
7
|
+
data.tar.gz: c9a88c78fa49f29ea80041fba960c39e257dd38b65c9c2e9423e8e6889552442baf2700d8d6689e54216cae73b30fe68bc2104f2ef2b87ee3a67d102c4bb17ec
|
data/_config.yml
CHANGED
@@ -18,8 +18,13 @@ theme_config:
|
|
18
18
|
date_format: "%Y-%m-%d" # customize how date is formatted
|
19
19
|
show_description: false # show blog description in home page
|
20
20
|
encrypt_title: "Content is Encryped :)"
|
21
|
-
|
22
|
-
|
21
|
+
encrypt_clear_btn: "清空缓存密码"
|
22
|
+
decrypt_btn: 解密
|
23
|
+
encrypt_btn: 重新加密
|
24
|
+
tag_showall: true
|
25
|
+
all_tags_path: tags
|
26
|
+
all_tags_title: All Tags
|
27
|
+
|
23
28
|
#
|
24
29
|
# forbid_cache_password: true
|
25
30
|
|
@@ -46,4 +51,3 @@ enc_tags:
|
|
46
51
|
- tag: encrypt2
|
47
52
|
# 123
|
48
53
|
password: AQAQACAAIQCvWkhJdhn0b21Pz381AdTeMLb5bRO4d2F3usQtpIL0fDD0G8cg4klENXxJNX+rAHwD8VW2iJo4hZKDQrjdOjbJFugo60XnMmbdLEfzXpkqGpjjbe875/owWyNnGGPk3Vf4
|
49
|
-
|
data/_includes/encrypted.html
CHANGED
@@ -1,28 +1,22 @@
|
|
1
1
|
|
2
2
|
<div id="encrypted">
|
3
|
-
{
|
4
|
-
|
5
|
-
{% else %}
|
6
|
-
<h3>Content is Encrypted</h3>
|
7
|
-
{% endif %}
|
3
|
+
<h3> {{ site.theme_config.encrypt_title | default : 'Content is Encrypted'}} </h3>
|
4
|
+
|
8
5
|
<input style="width:100%; " type="password" id="passwordinput" placeholder="输入密码"></input>
|
9
6
|
<p>
|
10
|
-
|
11
|
-
|
12
|
-
{% else %}
|
13
|
-
<input type="button" value= "Decrypt" id="DecryptBtn"/>
|
14
|
-
{% endif %}
|
7
|
+
<input type="button" value= "{{ site.theme_config.decrypt_btn | default : 'Decrypt' }}" id="DecryptBtn"/>
|
8
|
+
<input type="button" value= "{{ site.theme_config.encrypt_clear_btn | default: 'Clear password cache' }}" id="ClearBtn1"/>
|
15
9
|
|
16
10
|
</div>
|
17
11
|
|
18
12
|
<div id="decrypted" style = "display:none">
|
19
13
|
<p>
|
20
14
|
<div>
|
21
|
-
|
22
|
-
<input type="button" value= "{{ site.theme_config.encrypt_btn }}" id="EncryptBtn"/>
|
23
|
-
|
24
|
-
<input type="button" value= "
|
25
|
-
|
15
|
+
|
16
|
+
<input type="button" value= "{{ site.theme_config.encrypt_btn | default: 'Encrypt' }}" id="EncryptBtn"/>
|
17
|
+
|
18
|
+
<input type="button" value= "{{ site.theme_config.encrypt_clear_btn | default: 'Clear password cache' }}" id="ClearBtn2"/>
|
19
|
+
|
26
20
|
</div>
|
27
21
|
<div id = 'decryptContent'>
|
28
22
|
</div>
|
@@ -32,27 +26,44 @@
|
|
32
26
|
<script src="//cdn.jsdelivr.net/gh/vitock/jsdelivr@0.1.1/js/md5.js"></script>
|
33
27
|
<script>
|
34
28
|
!function(){
|
35
|
-
|
29
|
+
|
30
|
+
{%- capture prefix0 %} {{page.url |default: "no-style-please2" }} {% endcapture -%}
|
31
|
+
{%- capture prefix %} {{prefix0 | strip }} {% endcapture -%}
|
32
|
+
|
33
|
+
const preFix = "{{prefix}}"
|
34
|
+
var encryptedContent = '{{ content | contentEncrypt:page, prefix}}'
|
35
|
+
const nonceStr = encryptedContent.substring(0,16);
|
36
|
+
const msg = encryptedContent.substring(17)
|
36
37
|
|
37
38
|
function hexToUint8Arr(hexString){
|
38
39
|
return new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));
|
39
40
|
}
|
40
|
-
|
41
|
+
|
42
|
+
|
43
|
+
function decrypt (key0,isCached){
|
41
44
|
// const key = Uint8Array([...]); // 32 bytes key
|
42
|
-
var key = new TextEncoder("utf-8").encode(md5(key0));
|
43
45
|
|
44
|
-
|
45
|
-
var
|
46
|
+
var key = ''
|
47
|
+
var keyDgst = ""
|
48
|
+
if(isCached){
|
49
|
+
keyDgst= key0
|
50
|
+
key = new TextEncoder("utf-8").encode(keyDgst);
|
51
|
+
}
|
52
|
+
else{
|
53
|
+
var keyS = preFix + key0 + preFix
|
54
|
+
keyDgst = md5(keyS)
|
55
|
+
key = new TextEncoder("utf-8").encode(keyDgst);
|
56
|
+
}
|
46
57
|
var nonce = hexToUint8Arr(nonceStr)
|
47
58
|
|
48
|
-
|
59
|
+
|
49
60
|
const message = Base64.toUint8Array(msg)
|
50
61
|
// Encrypt //
|
51
62
|
const decrypt = new JSSalsa20(key, nonce).decrypt(message);
|
52
63
|
var plain = new TextDecoder("utf-8").decode(decrypt)
|
53
64
|
var check = md5(plain)
|
54
65
|
if(check.indexOf(nonceStr) == 0){
|
55
|
-
setKey(
|
66
|
+
setKey(keyDgst)
|
56
67
|
/// hide input
|
57
68
|
document.getElementById("encrypted").style.display = 'none'
|
58
69
|
// / show decrypted
|
@@ -91,6 +102,26 @@
|
|
91
102
|
|
92
103
|
clearKey()
|
93
104
|
}
|
105
|
+
|
106
|
+
document.getElementById("EncryptBtn").onclick = function(){
|
107
|
+
/// hide input
|
108
|
+
document.getElementById("encrypted").style.display = 'block'
|
109
|
+
// / show decrypted
|
110
|
+
document.getElementById("decrypted").style.display = "none"
|
111
|
+
|
112
|
+
clearKey()
|
113
|
+
}
|
114
|
+
|
115
|
+
document.getElementById("ClearBtn1").onclick = function(){
|
116
|
+
localStorage.clear();
|
117
|
+
}
|
118
|
+
document.getElementById("ClearBtn2").onclick = function(){
|
119
|
+
localStorage.clear();
|
120
|
+
}
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
94
125
|
|
95
126
|
{% if site.theme_config.forbid_cache_password %}
|
96
127
|
function readKey(){
|
@@ -114,8 +145,9 @@
|
|
114
145
|
}
|
115
146
|
var cachekey = readKey()
|
116
147
|
if(cachekey){
|
117
|
-
decrypt(cachekey)
|
148
|
+
decrypt(cachekey,true)
|
118
149
|
}
|
150
|
+
|
119
151
|
{% endif %}
|
120
152
|
|
121
153
|
|
data/_layouts/tagpage.html
CHANGED
@@ -3,13 +3,22 @@ layout: default
|
|
3
3
|
---
|
4
4
|
{%-include back_link.html -%}
|
5
5
|
<div class="post">
|
6
|
-
<h1
|
6
|
+
<h1></h1>
|
7
|
+
<li>Tag: {{ page.tag }}</li>
|
8
|
+
|
7
9
|
<ul>
|
8
|
-
{% for post in site.tags[page.tag] %}
|
10
|
+
{% for post in site.tags[page.tag] %}
|
9
11
|
<li><a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a> ({{ post.date | date_to_string }})<br>
|
10
12
|
{{ post.description }}
|
11
13
|
</li>
|
12
14
|
{% endfor %}
|
13
15
|
</ul>
|
14
16
|
</div>
|
15
|
-
|
17
|
+
{% if site.theme_config.tag_showall %}
|
18
|
+
<li><a href="{{ site.baseurl }}/{{site.theme_config.all_tags_path | default:'tags' }}.html"> {{site.theme_config.all_tags_title | default:'All Tags' }}</a>
|
19
|
+
</li>
|
20
|
+
|
21
|
+
{% endif %}
|
22
|
+
|
23
|
+
<hr>
|
24
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: no-style-please2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vitock
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-05-
|
11
|
+
date: 2022-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.3.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.
|
40
|
+
version: 0.3.0
|
41
41
|
description:
|
42
42
|
email:
|
43
43
|
- r
|