This repository has been archived by the owner on Jun 26, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 567
/
Copy pathindex.html
261 lines (240 loc) · 11.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
<!DOCTYPE html>
<html lang="zh">
<head>
<link rel="shortcut icon"
href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAMMOAADDDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQc7AUkHOwFAAAAAAAAAAAkHOwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkHOwwJBzsoiQc7PkkHOz+JBzs7iQc7L0kHOzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkHOxfJBzs/yQc7P8kHOz/JBzs/yQc7P8kHOz/JBzs/yQc7I8AAAAAAAAAAAAAAAAkHOx/JBzsMCQc7EAkHOwSJBzs/yQc7P8kHOz/JBzs/yQc7P8kHOz/JBzs/yQc7P8kHOz/JBzsPwAAAAAAAAAAJBzsbyQc7P8kHOzyJBzsZyQc7P8kHOz/JBzs/yQc7P8kHOz/JBzs/yQc7P8kHOz/JBzs/yQc7IwAAAAAJBzsQCQc7P8kHOz/JBzs/yQc7HUkHOz/JBzs/yQc7H4kHOzJJBzs/yQc7OwkHOxAJBzs/yQc7P8kHOxwJBzsECQc7P8kHOz/JBzs/yQc7P8kHOx0JBzs4iQc7P8hMO79JBzs/yQc7P8kHOz/JBzs/yQc7P8kHOzvJBzsGyQc7GgkHOz/JBzs/yQc7P8kHOz/JBzs7yQc7GUjJO3aIivt/yQc7P8kHOz/JBzs/yQc7P8kHOzZJBzsNwAAAAAkHOyBJBzs/yQc7P8kHOz/JBzs/yQc7P8kHOzvJBzsfyQc7HQkHOytJBzsvyQc7KckHOxjJBzsDwAAAAAAAAAAJBzsVCQc7P8kHOz/JBzs/yQc7NAkHOz6JBzs/yQc7P8kHOzfJBzsryQc7K8kHOy6JBzs8SQc7BUAAAAAAAAAACQc7BAkHOzPJBzs/yQc7P8kHOxhJBzs8CQc7P8kHOz/JBzsryQc7J4kHOz/JBzs/yQc7KgAAAAAAAAAAAAAAAAAAAAAJBzsMCQc7OEkHOz/Iibt/yMk7f8kHOz/JBzs/yQc7P8kHOz/JBzs/yQc7M8kHOkCAAAAAAAAAAAAAAAAAAAAAAAAAAAkHOwQJBzsjyEv7u8jJO3/JBzs/yQc7P8kHOz/JBzs/yQc7I8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkHOwQJBzsQyQc7GEkHOxhJBzsQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAP/NAAD+AwAA/AEAAMAAAADAAAAAgAAAAAAAAAAAAQAAAAMAAAADAAAABwAAgAcAAMAfAADwfwAA//8AAA==" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title data-n-head="true">给微信公众号生成 RSS 订阅源 - wechat-feeds</title>
<meta name="description" content="给微信公众号生成RSS订阅源" />
<meta
content="wechat-feeds,微信公众号RSS订阅,微信公众号RSS,微信公众号订阅,微信公众号,微信公众号文章订阅,微信公众号文章,公众号RSS订阅,公众号RSS,微信rss订阅源地址,微信rss订阅源,微信rss聚合,微信rss生成,微信公众号文章提取,公众号文章导出,微信公众号文章导出,公众号rss订阅源地址,公众号rss源,公众号rss生成器,微信公众号更新提醒"
name="keywords" data-n-head="true">
<link rel="stylesheet" href="./static/css/style.css" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/clipboard.min.js"></script>
<!-- MDUI CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/mdui.min.css"
integrity="sha384-2PJ2u4NYg6jCNNpv3i1hK9AoAqODy6CdiC+gYiL2DVx+ku5wzJMFNdE3RoWfBIRP" crossorigin="anonymous" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-176067962-2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-176067962-2');
</script>
</head>
<body class="mdui-container-fluid mdui-typo mdui-appbar-with-toolbar">
<div id="app" class="">
<header class="">
<div class="mdui-appbar mdui-appbar-fixed">
<div class="mdui-toolbar mdui-color-indigo">
<!-- <a
mdui-drawer="{target: '#main-drawer', swipe: true}"
href="javascript:;"
class="mdui-btn mdui-btn-icon"
><i class="mdui-icon material-icons">menu</i></a
> -->
<a href="https://github.com/hellodword/wechat-feeds" target="_blank" class="mdui-typo-headline">公众号RSS</a>
<div class="mdui-toolbar-spacer"></div>
<a v-show="github" href="javascript:;" mdui-tooltip="{content: '切换国内'}" class="mdui-btn mdui-btn-icon"
@click="switchsource"><i class="mdui-icon material-icons"></i></a>
<a v-show="!github" href="javascript:;" mdui-tooltip="{content: '切换全球'}" class="mdui-btn mdui-btn-icon"
@click="switchsource"><i class="mdui-icon material-icons"></i></a>
<!-- <a href="javascript:;" mdui-tooltip="{content: '搜索'}" class="mdui-btn mdui-btn-icon" @click="search"><i
class="mdui-icon material-icons">search</i></a> -->
<a href="javascript:;" mdui-tooltip="{content: '返回顶部'}" class="mdui-btn mdui-btn-icon" @click="backTop"><i
class="mdui-icon material-icons">arrow_upward</i></a>
<a href="javascript:;" mdui-tooltip="{content: '刷新'}" class="mdui-btn mdui-btn-icon" @click="refresh"><i
class="mdui-icon material-icons">refresh</i></a>
<a href="javascript:;" mdui-tooltip="{content: '帮助'}" class="mdui-btn mdui-btn-icon" @click="showhelp"><i
class="mdui-icon material-icons"></i></a>
<!-- <a href="javascript:;" class="mdui-btn mdui-btn-icon"><i class="mdui-icon material-icons">more_vert</i></a> -->
</div>
</div>
</header>
<!-- 默认抽屉栏在左侧 -->
<!-- <div class="mdui-drawer mdui-drawer-open" id="main-drawer">
</div> -->
<div class="mdui-dialog" id="help">
<div class="mdui-dialog-title">帮助</div>
<div class="mdui-dialog-content">
RSS 由:
<a href="https://github.com/hellodword/wechat-feeds" target="_blank">hellodword/wechat-feeds</a>
提供
<br>
页面由:
<a href="https://github.com/Treblex/wechat-feeds-page" target="_blank">Treblex/wechat-feeds-page</a>
编写
<br>
<br>
当前总数: {{listdata.length}}
<br>
<br>
顶部的工具栏可以切换国内或者全球源地址
<br>
<br>
<a href="https://github.com/hellodword/wechat-feeds#%E5%A6%82%E4%BD%95%E6%B7%BB%E5%8A%A0%E4%BF%AE%E6%94%B9%E5%85%AC%E4%BC%97%E5%8F%B7"
target="_blank"><b>没有你想要的公众号?点这里去新增</b></a>
</div>
<div class="mdui-dialog-actions">
<button class="mdui-btn mdui-ripple" mdui-dialog-cancel>确定</button>
</div>
</div>
<div v-if="isloading">
<div class="mdui-progress">
<div class="mdui-progress-indeterminate"></div>
</div>
loading...
</div>
<div v-else class="">
<!-- 搜索 -->
<div class="mdui-p-y-3">
<div class="mdui-textfield mdui-textfield-expandable mdui-textfield-expanded search">
<button class="mdui-textfield-icon mdui-btn mdui-btn-icon"><i
class="mdui-icon material-icons">search</i></button>
<input class="mdui-textfield-input" type="text" placeholder="Search" v-model="key" @input="search()" />
<button class="mdui-btn mdui-btn-icon search-input-clear" @click="key=''"><i
class="mdui-icon material-icons">close</i></button>
</div>
</div>
<div class="mdui-divider"></div>
<div class="list mdui-list">
<block v-for="(item,i) in (key?searchResults:listdata)" :key="i">
<ul class="mdui-list mdui-list-dense">
<li class="mdui-list-item mdui-ripple">
<div class="mdui-list-item-avatar">
<img v-bind:src="item.head_img">
</div>
<div class="mdui-list-item-content">
<div class="mdui-list-item-title">{{item.name}}</div>
<div class="mdui-list-item-text mdui-list-item-two-line">{{item.description}}</div>
</div>
<a href="javascript:;" mdui-tooltip="{content: '复制链接'}" class="mdui-btn mdui-btn-icon"
@click="()=>copy(makeRssUrl(item))"><i class="mdui-icon material-icons"></i></a>
</li>
</ul>
<div class="mdui-divider"></div>
</block>
</div>
</div>
</div>
<!-- MDUI JavaScript -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/mdui.min.js"
integrity="sha384-aB8rnkAu/GBsQ1q6dwTySnlrrbhqDwrDnpVHR2Wgm8pWLbwUnzDcIROX3VvCbaK+"
crossorigin="anonymous"></script>
<script>
var $$ = mdui.JQ;
</script>
<script>
function getData() {
// jsdelivr 缓存刷新没有那么及时
return fetch("VERSION").then((res) => res.text()).then((version) => {
return fetch(
`https://cdn.jsdelivr.net/gh/hellodword/wechat-feeds@${version}/details.json`,
{ method: "GET" }
)
.then((res) => res.json())
.then((res) => {
return res;
});
});
}
// 防抖
function debounce(fn, delay = 500) {
let timer = null;
return function (...args) {
let that = this;
clearTimeout(timer);
timer = setTimeout(() => {
fn.call(that, ...args);
}, delay);
};
}
let clipboard_;
const vm = new Vue({
el: "#app",
data() {
return {
github: true,
isloading: true,
listdata: [{}, {}, {}],
// 搜索
key: "",
searchResults: [],
search: debounce(() => {
this.searchResults = this.selectMatchItems(this.listdata, this.key);
}),
};
},
created() {
clipboard_ = new ClipboardJS(".copy");
clipboard_.on("success", function () {
// alert("复制成功");
mdui.snackbar({
message: '复制成功',
});
});
clipboard_.on("error", function (err) {
throw err;
});
setTimeout(() => {
getData().then((res) => {
this.isloading = false;
res.sort(function (a, b) {
if (a.name < b.name) {
return -1;
}
if (a.name > b.name) {
return 1;
}
return 0;
});
this.listdata = res;
});
});
},
methods: {
selectMatchItems(list, key) {
return list.filter(item => {
return (item['name'] || '').indexOf(key) > -1 || (item['description'] || '').indexOf(key) > -1
});
},
showhelp() {
var inst = new mdui.Dialog('#help');
inst.open();
},
makeRssUrl({ bizid = "" }) {
return this.github ? `https://github.com/hellodword/wechat-feeds/raw/feeds/${bizid}.xml` : `https://gitee.com/BlogZ/wechat-feeds/raw/feeds/${bizid}.xml`;
},
refresh() {
location.reload();
},
search() {
mdui.snackbar({
message: '等待实现',
});
},
switchsource() {
this.github = !this.github;
mdui.snackbar({
message: this.github ? '已切换到全球' : '已切换到国内',
});
},
backTop() {
window.scrollTo({ top: 1, behavior: "smooth" });
},
copy(text) {
let button = document.createElement("button");
button.className = "copy";
button.setAttribute("data-clipboard-text", text);
document.body.appendChild(button);
button.click();
button.remove();
},
},
});
</script>
</body>
</html>