Commit 37113411 authored by Alain Takoudjou's avatar Alain Takoudjou

erp5_web_mynij_search: torrent sharing and download of index

Add possibility to download index from torrent, seed by another browser peer, browser can also seed his local indexed to other browsers.

User hash de possiblity to enable or disable seeding of an index.
parent 8f9368a1
......@@ -42,7 +42,8 @@
<script id="panel-template-body-list" type="text/x-handlebars-template">
<li class="ui-first-child"><a href="{{mynij_search_href}}" class="ui-btn ui-btn-icon-left ui-icon-search" data-i18n="Search">Search</a></li>
<li><a href="{{source_list_href}}" class="ui-btn ui-btn-icon-left ui-icon-sitemap" data-i18n="Sources" accesskey="s">Sources</a></li>
<li><a href="{{source_list_href}}" class="ui-btn ui-btn-icon-left ui-icon-sitemap" data-i18n="Sitemap Sources" accesskey="s">Sitemap Sources</a></li>
<li><a href="{{mynij_torrent_href}}" class="ui-btn ui-btn-icon-left ui-icon-magnet" data-i18n="Webtorrent Index" accesskey="w">Webtorrent Index</a></li>
<li><a href="{{sync_href}}" class="ui-btn ui-btn-icon-left ui-icon-refresh" data-i18n="Synchronize">Synchronize</a></li>
<li><a href="{{storage_href}}" class="ui-btn ui-btn-icon-left ui-icon-gear" data-i18n="Storages">Storages</a></li>
<li class="ui-last-child"><a href="https://www.erp5.com/mynij-HowTo.Install.And.Use.For.Search" target="_blank" class="ui-btn ui-btn-icon-left ui-icon-question" data-i18n="help">Help</a></li>
......
......@@ -238,7 +238,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>988.3930.29858.49937</string> </value>
<value> <string>988.20060.54644.38075</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>1605718837.17</float>
<float>1606688380.84</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -215,7 +215,8 @@
context.getUrlFor({command: 'display', options: {page: "mynij_search"}}),
context.getUrlFor({command: 'display', options: {page: "ojs_configurator"}}),
context.getUrlFor({command: 'display', options: {page: "ojs_sync", 'auto_repair': true}}),
context.getUrlFor({command: 'display', options: {page: "ojs_local_controller"}})
context.getUrlFor({command: 'display', options: {page: "ojs_local_controller"}}),
context.getUrlFor({command: 'display', options: {page: "mynij_torrent"}})
]);
})
.push(function (result_list) {
......@@ -224,7 +225,8 @@
"mynij_search_href": result_list[0],
"storage_href": result_list[1],
"sync_href": result_list[2],
"source_list_href": result_list[3]
"source_list_href": result_list[3],
"mynij_torrent_href": result_list[4]
})
);
})
......
......@@ -234,7 +234,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>987.31529.454.41710</string> </value>
<value> <string>987.31543.42603.60603</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>1603443338.99</float>
<float>1606388302.38</float>
<string>UTC</string>
</tuple>
</state>
......
<!DOCTYPE html>
<html>
<head>
<!--
data-i18n=This page contains unsaved changes, do you really want to leave the page ?
-->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>Mynij Web Torrent Gadget</title>
<link rel="http://www.renderjs.org/rel/interface" href="interface_router.html">
<link href="mynij-webtorrent-style.css" type="text/css" rel="stylesheet" />
<!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="jiodev.js" type="text/javascript"></script>
<script src="gadget_global.js" type="text/javascript"></script>
<script src="webtorrent.min.js" type="text/javascript"></script>
<script src="gadget_erp5_mynij_webtorrent.js" type="text/javascript"></script>
<script id="torrent-info-template" type="text/x-handlebars-template">
<div class="torrentBoddy" id="{{infohash}}">
<div class="hero">
<div class="output">
<div class="progressBar"></div>
</div>
<div class="status">
<div>
<span class="show-leech">Downloading </span>
<span class="show-seed">Seeding </span>
<code>
<a class="torrentLink" href="{{torrent_link}}">Torrent {{magnet_title}}</a>
</code>
<span class="show-leech"> from </span>
<span class="show-seed"> to </span>
<code class="numPeers">0 peers</code>.
</div>
{{#if magnet_uri}}
<div>
<a href="{{magnet_uri}}">Torrent Magnet URI</a>
</div>
{{/if}}
<div>
<code class="downloaded"></code>
of <code class="total"></code>
<span class="remaining"></span><br/>
&#x2198;<code class="downloadSpeed">0 b/s</code>
/ &#x2197;<code class="uploadSpeed">0 b/s</code>
</div>
</div>
</div>
</div>
</script>
</head>
<body>
<div class="torrent-download hidden">
<h2 class="info">Checking available peers for download...</h2>
</div>
<br/>
<h1 class="head-title">Shared Index Torrent</h1>
<div><i class="notification-msg">Do not close this page to keep seeding the torrent</i></div>
<div class="torrent-seed">
<h2 class="info">Checking for indexes to seed...</h2>
</div>
<div data-gadget-url="gadget_mynij_model.html" data-gadget-scope="model"
data-gadget-sandbox="public"></div>
</body>
</html>
......@@ -242,7 +242,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>987.26068.57578.54801</string> </value>
<value> <string>987.57828.2250.21794</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -260,7 +260,7 @@
</tuple>
<state>
<tuple>
<float>1603115311.12</float>
<float>1605519284.37</float>
<string>UTC</string>
</tuple>
</state>
......
<!doctype html>
<html>
<head>
<title>Mynij Search</title>
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="gadget_erp5_page_mynij_torrent.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="mynij-style.css">
</head>
<body>
<h1 class="head-title">Add new Index from shared torrent</h1>
<form class="save_form ui-body-c" novalidate>
<button type="submit" class="ui-btn ui-btn-b ui-btn-inline
ui-icon-edit ui-btn-icon-right ui-screen-hidden"></button>
<div data-gadget-url="gadget_erp5_form.html"
data-gadget-scope="form_view"
data-gadget-sandbox="public">
</div>
</form>
<div data-gadget-url="gadget_erp5_mynij_webtorrent.html" data-gadget-scope="torrent"
data-gadget-sandbox="public"></div>
</body>
</html>
\ No newline at end of file
/*jslint nomen: true, indent: 2, maxerr: 3, maxlen: 80*/
/*global window, RSVP, rJS, document*/
(function (window, document, rJS, RSVP) {
var gadget;
rJS(window)
.setState({
torrent_gadget : null
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("getUrlParameter", "getUrlParameter")
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.ready(function () {
var gadget = this;
return this.getDeclaredGadget("torrent")
.push(function (torrent) {
return gadget.changeState({
torrent_gadget: torrent
});
});
})
.onStateChange(function () {
})
.declareMethod("render", function (options) {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return RSVP.all([
gadget.getUrlFor({command: 'history_previous'})
]);
})
.push(function (url_list) {
return gadget.updateHeader({
page_title: "Mynij Search"
//selection_url: url_list[0]
});
});
})
.onEvent('submit', function () {
var gadget = this,
doc;
return new RSVP.Queue()
.push(function () {
return gadget.getDeclaredGadget('form_view');
})
.push(function (form_gadget) {
return form_gadget.getContent();
})
.push(function (form_doc) {
doc = form_doc;
return gadget.state.torrent_gadget.download(form_doc.magnet_uri);
})
.push(function (state) {
return;
});
})
.declareMethod("triggerSubmit", function () {
return this.element.querySelector('button[type="submit"]').click();
})
.declareMethod("render", function (options) {
var gadget = this;
return RSVP.Queue()
.push(function () {
return RSVP.all([
gadget.getDeclaredGadget('form_view'),
gadget.getSetting('portal_type')
]);
})
.push(function (result) {
return result[0].render({
erp5_document: {
"_embedded": {"_view": {
"my_magnet_uri": {
"description": "",
"title": "Magnet URI",
"default": "",
"css_class": "",
"required": 1,
"editable": 1,
"key": "magnet_uri",
"hidden": 0,
"type": "TextAreaField"
}
}},
"_links": {
"type": {
// form_list display portal_type in header
name: ""
}
}
},
form_definition: {
group_list: [[
"left",
[["my_magnet_uri"]]
]]
}
});
})
.push(function (chg_pwd_url) {
return gadget.updateHeader({
page_title: "Torrent Indexes",
save_action: true
});
});
});
}(window, document, rJS, RSVP));
\ No newline at end of file
......@@ -30,6 +30,21 @@
});
})
.declareMethod('getAttachment', function () {
var storage = this.state.db;
return storage.getAttachment.apply(storage, arguments);
})
.declareMethod('putAttachment', function () {
var storage = this.state.db;
return storage.putAttachment.apply(storage, arguments);
})
.declareMethod('put', function () {
var storage = this.state.db;
return storage.put.apply(storage, arguments);
})
.declareMethod("add_page", function (page, index_name) {
var gadget = this,
indices,
......
......@@ -242,7 +242,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>987.50881.18269.62924</string> </value>
<value> <string>988.17215.10748.5085</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -260,7 +260,7 @@
</tuple>
<state>
<tuple>
<float>1605004238.18</float>
<float>1606517315.87</float>
<string>UTC</string>
</tuple>
</state>
......
.torrentBoddy {
margin-bottom: 20px;
}
.progressBar {
height: 5px;
width: 0%;
background-color: #35b44f;
transition: width .4s ease-in-out;
}
.is-seed .show-seed {
display: inline;
}
.is-seed .show-leech {
display: none;
}
.show-seed {
display: none;
}
.status code {
font-size: 90%;
font-weight: 700;
margin-left: 3px;
margin-right: 3px;
border-bottom: 1px dashed rgba(255,255,255,0.3);
}
.is-seed #hero {
background-color: #154820;
transition: .5s .5s background-color ease-in-out;
}
.hero {
background-color: #2a3749;
}
.status {
color: #fff;
font-size: 17px;
padding: 5px;
}
.torrentBoddy a:link, .torrentBoddy a:visited {
color: #30a247;
text-decoration: none;
}
.notification-msg {
font-size: .8em;
color: #484b4e;
}
.head-title {
font-size: 2em;
}
.hidden {
display: none;
}
.torrent-seed .info, .torrent-download .info {
font-size: 1.1em;
color: #ff6a00;
}
\ No newline at end of file
......@@ -459,7 +459,7 @@
</tuple>
<state>
<tuple>
<float>1597916010.0</float>
<float>1604049194.49</float>
<string>UTC</string>
</tuple>
</state>
......@@ -508,7 +508,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>986.3517.32777.30293</string> </value>
<value> <string>987.37947.26336.35635</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -526,7 +526,7 @@
</tuple>
<state>
<tuple>
<float>1599936357.94</float>
<float>1603828409.08</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -6,24 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
......@@ -67,24 +49,7 @@
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
......@@ -291,7 +256,7 @@
</item>
<item>
<key> <string>configuration_content_security_policy</string> </key>
<value> <string>default-src \'self\'; img-src \'self\' data:; media-src \'self\' blob:; connect-src \'self\' https://content.dropboxapi.com https://api.dropboxapi.com data: *.host.vifib.net *.node.vifib.com *.erp5.net https://cors-anywhere.herokuapp.com/; script-src \'self\' \'unsafe-eval\' \'unsafe-inline\'; font-src \'self\'; style-src \'self\' \'unsafe-inline\' data:; frame-src \'self\' data:</string> </value>
<value> <string>default-src \'self\'; img-src \'self\' data:; media-src \'self\' blob:; connect-src \'self\' https://content.dropboxapi.com https://api.dropboxapi.com wss://tracker.fastcast.nz wss://tracker.openwebtorrent.com wss://tracker.btorrent.xyz data: *.host.vifib.net *.node.vifib.com *.erp5.net https://cors-anywhere.herokuapp.com/; script-src \'self\' \'unsafe-eval\' \'unsafe-inline\'; font-src \'self\'; style-src \'self\' \'unsafe-inline\' data:; frame-src \'self\' data:</string> </value>
</item>
<item>
<key> <string>configuration_default_jio_document_page_gadget_url</string> </key>
......@@ -472,7 +437,9 @@ WebSection_getMynijSearchPrecacheManifestList</string> </value>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -498,7 +465,7 @@ WebSection_getMynijSearchPrecacheManifestList</string> </value>
</tuple>
<state>
<tuple>
<float>1597933372.95</float>
<float>1603827564.06</float>
<string>UTC</string>
</tuple>
</state>
......@@ -507,7 +474,7 @@ WebSection_getMynijSearchPrecacheManifestList</string> </value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
<value> <string>embedded</string> </value>
</item>
</dictionary>
</list>
......@@ -547,7 +514,7 @@ WebSection_getMynijSearchPrecacheManifestList</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>987.16208.26376.17595</string> </value>
<value> <string>987.37947.26336.35635</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -565,7 +532,7 @@ WebSection_getMynijSearchPrecacheManifestList</string> </value>
</tuple>
<state>
<tuple>
<float>1602523937.96</float>
<float>1606395947.12</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -288,7 +288,7 @@
</tuple>
<state>
<tuple>
<float>1593691308.12</float>
<float>1603827564.07</float>
<string>UTC</string>
</tuple>
</state>
......@@ -337,7 +337,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>985.56432.15962.58094</string> </value>
<value> <string>987.37947.26336.35635</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -355,7 +355,7 @@
</tuple>
<state>
<tuple>
<float>1599936357.93</float>
<float>1603828409.04</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -78,6 +78,9 @@
<list>
<string>my_title</string>
<string>my_links</string>
<string>my_seed</string>
<string>your_info_hash</string>
<string>your_magnet_uri</string>
</list>
</value>
</item>
......
......@@ -78,6 +78,9 @@
<list>
<string>my_title</string>
<string>my_links</string>
<string>my_seed</string>
<string>your_magnet_uri</string>
<string>your_info_hash</string>
</list>
</value>
</item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_seed</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>This field is mandatory.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Seed as Torrent</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="LabelField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>your_info_hash</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Torrent infoHash</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -5,6 +5,10 @@ url_list = [
"gadget_erp5_mynij_panel.js",
"gadget_erp5_page_mynij_search.html",
"gadget_erp5_page_mynij_search.js",
"gadget_erp5_mynij_webtorrent.html",
"gadget_erp5_mynij_webtorrent.js",
"gadget_erp5_page_mynij_torrent.html",
"gadget_erp5_page_mynij_torrent.js",
"gadget_mynij_model.html",
"gadget_mynij_model.js",
"gadget_mynij_parser.html",
......@@ -12,13 +16,16 @@ url_list = [
"gadget_mynij_result.html",
"gadget_mynij_result.js",
"mynij-style.css",
"mynij-webtorrent-style.css",
"mynij_logo.png",
"favicon.ico",
"mynij_google_logo.png",
"action_mynij_search_build_index.html",
"action_mynij_search_build_index.js",
"flexsearch.js",
"flexsearch_en.js",
"mynij_rss-parser.min.js"
"mynij_rss-parser.min.js",
"rss-parser.min.js.map"
]
return url_list
......@@ -6,5 +6,6 @@ web_page_module/gadget_mynij_**
web_page_module/gadget_officejs_mynij_**
web_page_module/mynij-**
web_page_module/mynij_**
web_page_module/rss-parser.min.js.map
web_site_module/mynij_search
web_site_module/mynij_search/**
\ No newline at end of file
......@@ -6,5 +6,6 @@ web_page_module/gadget_mynij_**
web_page_module/gadget_officejs_mynij_**
web_page_module/mynij-**
web_page_module/mynij_**
web_page_module/rss-parser.min.js.map
web_site_module/mynij_search
web_site_module/mynij_search/**
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment