diff --git a/app.py b/app.py
index 9acbef0..45783ae 100644
--- a/app.py
+++ b/app.py
@@ -240,6 +240,11 @@ def search():
size_max = request.args.get("size_max") if "size_max" in request.args else "size_max"
size_max = int(size_max) if size_max.isdigit() else 0
+ date_min = request.args.get("date_min") if "date_min" in request.args else "date_min"
+ date_min = int(date_min) if date_min.isdigit() else 0
+ date_max = request.args.get("date_max") if "date_max" in request.args else "date_max"
+ date_max = int(date_max) if date_max.isdigit() else 0
+
match_all = "all" in request.args
field_name = "field_name" in request.args
@@ -260,7 +265,8 @@ def search():
if len(q) >= 3:
try:
- hits = searchEngine.search(q, page, per_page, sort_order, extensions, size_min, size_max, match_all, fields)
+ hits = searchEngine.search(q, page, per_page, sort_order,
+ extensions, size_min, size_max, match_all, fields, date_min, date_max)
hits = db.join_website_on_search_result(hits)
except InvalidQueryException as e:
flash("Invalid query: " + str(e), "warning")
@@ -277,7 +283,8 @@ def search():
extensions=",".join(extensions),
size_min=size_min, size_max=size_max,
match_all=match_all,
- field_trigram=field_trigram, field_path=field_path, field_name=field_name)
+ field_trigram=field_trigram, field_path=field_path, field_name=field_name,
+ date_min=date_min, date_max=date_max)
@app.route("/contribute")
diff --git a/search/search.py b/search/search.py
index f2102d8..bdbc6d6 100644
--- a/search/search.py
+++ b/search/search.py
@@ -16,7 +16,7 @@ class SearchEngine:
def import_json(self, in_str: str, website_id: int):
raise NotImplementedError
- def search(self, query, page, per_page, sort_order, extension, size_min, size_max, match_all, fields) -> {}:
+ def search(self, query, page, per_page, sort_order, extension, size_min, size_max, match_all, fields, date_min, date_max) -> {}:
raise NotImplementedError
def reset(self):
@@ -142,7 +142,7 @@ class ElasticSearchEngine(SearchEngine):
action_string = '{"index":{}}\n'
return "\n".join("".join([action_string, ujson.dumps(doc)]) for doc in docs)
- def search(self, query, page, per_page, sort_order, extensions, size_min, size_max, match_all, fields) -> {}:
+ def search(self, query, page, per_page, sort_order, extensions, size_min, size_max, match_all, fields, date_min, date_max) -> {}:
filters = []
if extensions:
@@ -159,6 +159,17 @@ class ElasticSearchEngine(SearchEngine):
filters.append(new_filter)
+ if date_min > 0 or date_max:
+ date_filer = dict()
+ new_filter = {"range": {"mtime": date_filer}}
+
+ if date_min > 0:
+ date_filer["gte"] = date_min
+ if date_max:
+ date_filer["lte"] = date_max
+
+ filters.append(new_filter)
+
sort_by = ElasticSearchEngine.SORT_ORDERS.get(sort_order, [])
page = self.es.search(body={
diff --git a/static/css/main.css b/static/css/main.css
index 0d858ad..c753c18 100644
--- a/static/css/main.css
+++ b/static/css/main.css
@@ -215,4 +215,17 @@ a:hover {
.irs {
margin-bottom: 1em;
+}
+
+.github-banner {
+ position: absolute;
+ top: 0;
+ right: 0;
+ border: 0;
+}
+
+@media (max-width: 990px) {
+ .github-banner {
+ display: none;
+ }
}
\ No newline at end of file
diff --git a/static/img/forkme_right_white_ffffff.png b/static/img/forkme_right_white_ffffff.png
new file mode 100644
index 0000000..8fe3a7e
Binary files /dev/null and b/static/img/forkme_right_white_ffffff.png differ
diff --git a/templates/home.html b/templates/home.html
index 9d99914..8b567ff 100644
--- a/templates/home.html
+++ b/templates/home.html
@@ -35,4 +35,8 @@
+
+
+
+
{% endblock body %}
diff --git a/templates/layout.html b/templates/layout.html
index 183410b..b6cefb3 100644
--- a/templates/layout.html
+++ b/templates/layout.html
@@ -18,7 +18,7 @@
-
+