mirror of
https://github.com/dgtlmoon/changedetection.io.git
synced 2025-11-08 02:26:31 +00:00
Compare commits
3 Commits
0.45.7.3
...
visualsele
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb2560e77d | ||
|
|
ab943c0c51 | ||
|
|
9d99f4cb59 |
16
.github/workflows/containers.yml
vendored
16
.github/workflows/containers.yml
vendored
@@ -96,9 +96,8 @@ jobs:
|
|||||||
tags: |
|
tags: |
|
||||||
${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:dev,ghcr.io/${{ github.repository }}:dev
|
${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:dev,ghcr.io/${{ github.repository }}:dev
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/arm/v8
|
platforms: linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/arm/v8
|
||||||
cache-from: type=gha
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||||
|
|
||||||
# Looks like this was disabled
|
# Looks like this was disabled
|
||||||
# provenance: false
|
# provenance: false
|
||||||
|
|
||||||
@@ -117,11 +116,18 @@ jobs:
|
|||||||
${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:latest
|
${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:latest
|
||||||
ghcr.io/dgtlmoon/changedetection.io:latest
|
ghcr.io/dgtlmoon/changedetection.io:latest
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/arm/v8
|
platforms: linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,linux/arm/v8
|
||||||
cache-from: type=gha
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||||
# Looks like this was disabled
|
# Looks like this was disabled
|
||||||
# provenance: false
|
# provenance: false
|
||||||
|
|
||||||
- name: Image digest
|
- name: Image digest
|
||||||
run: echo step SHA ${{ steps.vars.outputs.sha_short }} tag ${{steps.vars.outputs.tag}} branch ${{steps.vars.outputs.branch}} digest ${{ steps.docker_build.outputs.digest }}
|
run: echo step SHA ${{ steps.vars.outputs.sha_short }} tag ${{steps.vars.outputs.tag}} branch ${{steps.vars.outputs.branch}} digest ${{ steps.docker_build.outputs.digest }}
|
||||||
|
|
||||||
|
- name: Cache Docker layers
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: /tmp/.buildx-cache
|
||||||
|
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-buildx-
|
||||||
|
|||||||
@@ -20,6 +20,11 @@ WORKDIR /install
|
|||||||
|
|
||||||
COPY requirements.txt /requirements.txt
|
COPY requirements.txt /requirements.txt
|
||||||
|
|
||||||
|
# Instructing pip to fetch wheels from piwheels.org" on ARMv6 and ARMv7 machines
|
||||||
|
RUN if [ "$(dpkg --print-architecture)" = "armhf" ] || [ "$(dpkg --print-architecture)" = "armel" ]; then \
|
||||||
|
printf "[global]\nextra-index-url=https://www.piwheels.org/simple\n" > /etc/pip.conf; \
|
||||||
|
fi;
|
||||||
|
|
||||||
RUN pip install --target=/dependencies -r /requirements.txt
|
RUN pip install --target=/dependencies -r /requirements.txt
|
||||||
|
|
||||||
# Playwright is an alternative to Selenium
|
# Playwright is an alternative to Selenium
|
||||||
|
|||||||
@@ -16,4 +16,3 @@ global-exclude venv
|
|||||||
|
|
||||||
global-exclude test-datastore
|
global-exclude test-datastore
|
||||||
global-exclude changedetection.io*dist-info
|
global-exclude changedetection.io*dist-info
|
||||||
global-exclude changedetectionio/tests/proxy_socks5/test-datastore
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ from flask_paginate import Pagination, get_page_parameter
|
|||||||
from changedetectionio import html_tools
|
from changedetectionio import html_tools
|
||||||
from changedetectionio.api import api_v1
|
from changedetectionio.api import api_v1
|
||||||
|
|
||||||
__version__ = '0.45.7.3'
|
__version__ = '0.45.5'
|
||||||
|
|
||||||
from changedetectionio.store import BASE_URL_NOT_SET_TEXT
|
from changedetectionio.store import BASE_URL_NOT_SET_TEXT
|
||||||
|
|
||||||
@@ -105,10 +105,6 @@ def get_darkmode_state():
|
|||||||
css_dark_mode = request.cookies.get('css_dark_mode', 'false')
|
css_dark_mode = request.cookies.get('css_dark_mode', 'false')
|
||||||
return 'true' if css_dark_mode and strtobool(css_dark_mode) else 'false'
|
return 'true' if css_dark_mode and strtobool(css_dark_mode) else 'false'
|
||||||
|
|
||||||
@app.template_global()
|
|
||||||
def get_css_version():
|
|
||||||
return __version__
|
|
||||||
|
|
||||||
# We use the whole watch object from the store/JSON so we can see if there's some related status in terms of a thread
|
# We use the whole watch object from the store/JSON so we can see if there's some related status in terms of a thread
|
||||||
# running or something similar.
|
# running or something similar.
|
||||||
@app.template_filter('format_last_checked_time')
|
@app.template_filter('format_last_checked_time')
|
||||||
|
|||||||
@@ -3,50 +3,45 @@
|
|||||||
* Toggles theme between light and dark mode.
|
* Toggles theme between light and dark mode.
|
||||||
*/
|
*/
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
const button = document.getElementById("toggle-light-mode");
|
const button = document.getElementById("toggle-light-mode");
|
||||||
|
|
||||||
button.onclick = () => {
|
button.onclick = () => {
|
||||||
const htmlElement = document.getElementsByTagName("html");
|
const htmlElement = document.getElementsByTagName("html");
|
||||||
const isDarkMode = htmlElement[0].dataset.darkmode === "true";
|
const isDarkMode = htmlElement[0].dataset.darkmode === "true";
|
||||||
htmlElement[0].dataset.darkmode = !isDarkMode;
|
htmlElement[0].dataset.darkmode = !isDarkMode;
|
||||||
setCookieValue(!isDarkMode);
|
setCookieValue(!isDarkMode);
|
||||||
};
|
};
|
||||||
|
|
||||||
const setCookieValue = (value) => {
|
const setCookieValue = (value) => {
|
||||||
document.cookie = `css_dark_mode=${value};max-age=31536000;path=/`
|
document.cookie = `css_dark_mode=${value};max-age=31536000;path=/`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search input box behaviour
|
// Search input box behaviour
|
||||||
const toggle_search = document.getElementById("toggle-search");
|
const toggle_search = document.getElementById("toggle-search");
|
||||||
const search_q = document.getElementById("search-q");
|
const search_q = document.getElementById("search-q");
|
||||||
if(search_q) {
|
window.addEventListener('keydown', function (e) {
|
||||||
window.addEventListener('keydown', function (e) {
|
|
||||||
if (e.altKey == true && e.keyCode == 83) {
|
|
||||||
search_q.classList.toggle('expanded');
|
|
||||||
search_q.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
search_q.onkeydown = (e) => {
|
if (e.altKey == true && e.keyCode == 83)
|
||||||
var key = e.keyCode || e.which;
|
search_q.classList.toggle('expanded');
|
||||||
if (key === 13) {
|
search_q.focus();
|
||||||
document.searchForm.submit();
|
});
|
||||||
}
|
|
||||||
};
|
|
||||||
toggle_search.onclick = () => {
|
search_q.onkeydown = (e) => {
|
||||||
// Could be that they want to search something once text is in there
|
var key = e.keyCode || e.which;
|
||||||
if (search_q.value.length) {
|
if (key === 13) {
|
||||||
document.searchForm.submit();
|
document.searchForm.submit();
|
||||||
} else {
|
|
||||||
// If not..
|
|
||||||
search_q.classList.toggle('expanded');
|
|
||||||
search_q.focus();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
toggle_search.onclick = () => {
|
||||||
|
// Could be that they want to search something once text is in there
|
||||||
|
if (search_q.value.length) {
|
||||||
|
document.searchForm.submit();
|
||||||
|
} else {
|
||||||
|
// If not..
|
||||||
|
search_q.classList.toggle('expanded');
|
||||||
|
search_q.focus();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
$('#heart-us').click(function () {
|
|
||||||
$("#overlay").toggleClass('visible');
|
|
||||||
heartpath.style.fill = document.getElementById("overlay").classList.contains("visible") ? '#ff0000' : 'var(--color-background)';
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
#toggle-light-mode {
|
#toggle-light-mode {
|
||||||
/* width: 3rem;*/
|
width: 3rem;
|
||||||
/* default */
|
/* default */
|
||||||
.icon-dark {
|
.icon-dark {
|
||||||
display: none;
|
display: none;
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
#overlay {
|
|
||||||
|
|
||||||
opacity: 0.95;
|
|
||||||
position: fixed;
|
|
||||||
|
|
||||||
width: 350px;
|
|
||||||
max-width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
top: 0;
|
|
||||||
right: -350px;
|
|
||||||
background-color: var(--color-table-stripe);
|
|
||||||
z-index: 2;
|
|
||||||
|
|
||||||
transform: translateX(0);
|
|
||||||
transition: transform .5s ease;
|
|
||||||
|
|
||||||
|
|
||||||
&.visible {
|
|
||||||
transform: translateX(-100%);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
|
||||||
font-size: 0.875rem;
|
|
||||||
padding: 1rem;
|
|
||||||
margin-top: 5rem;
|
|
||||||
max-width: 400px;
|
|
||||||
color: var(--color-watch-table-row-text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#heartpath {
|
|
||||||
&:hover {
|
|
||||||
fill: #ff0000 !important;
|
|
||||||
transition: all ease 0.3s !important;
|
|
||||||
}
|
|
||||||
transition: all ease 0.3s !important;
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
.pure-menu-link {
|
|
||||||
padding: 0.5rem 1em;
|
|
||||||
line-height: 1.2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pure-menu-item {
|
|
||||||
svg {
|
|
||||||
height: 1.2rem;
|
|
||||||
}
|
|
||||||
* {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.github-link {
|
|
||||||
height: 1.8rem;
|
|
||||||
display: block;
|
|
||||||
svg {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.bi-heart {
|
|
||||||
&:hover {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -9,13 +9,10 @@
|
|||||||
@import "parts/_spinners";
|
@import "parts/_spinners";
|
||||||
@import "parts/_variables";
|
@import "parts/_variables";
|
||||||
@import "parts/_darkmode";
|
@import "parts/_darkmode";
|
||||||
@import "parts/_menu";
|
|
||||||
@import "parts/_love";
|
|
||||||
|
|
||||||
body {
|
body {
|
||||||
color: var(--color-text);
|
color: var(--color-text);
|
||||||
background: var(--color-background-page);
|
background: var(--color-background-page);
|
||||||
font-family: Helvetica Neue, Helvetica, Lucida Grande, Arial, Ubuntu, Cantarell, Fira Sans, sans-serif;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.visually-hidden {
|
.visually-hidden {
|
||||||
@@ -58,6 +55,11 @@ a.github-link {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#toggle-search {
|
||||||
|
width: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
#search-q {
|
#search-q {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
-webkit-transition: all .9s ease;
|
-webkit-transition: all .9s ease;
|
||||||
@@ -1080,4 +1082,3 @@ ul {
|
|||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -331,7 +331,7 @@ html[data-darkmode="true"] {
|
|||||||
color: var(--color-watch-table-error); }
|
color: var(--color-watch-table-error); }
|
||||||
|
|
||||||
#toggle-light-mode {
|
#toggle-light-mode {
|
||||||
/* width: 3rem;*/
|
width: 3rem;
|
||||||
/* default */ }
|
/* default */ }
|
||||||
#toggle-light-mode .icon-dark {
|
#toggle-light-mode .icon-dark {
|
||||||
display: none; }
|
display: none; }
|
||||||
@@ -342,56 +342,9 @@ html[data-darkmode="true"] #toggle-light-mode .icon-light {
|
|||||||
html[data-darkmode="true"] #toggle-light-mode .icon-dark {
|
html[data-darkmode="true"] #toggle-light-mode .icon-dark {
|
||||||
display: block; }
|
display: block; }
|
||||||
|
|
||||||
.pure-menu-link {
|
|
||||||
padding: 0.5rem 1em;
|
|
||||||
line-height: 1.2rem; }
|
|
||||||
|
|
||||||
.pure-menu-item svg {
|
|
||||||
height: 1.2rem; }
|
|
||||||
|
|
||||||
.pure-menu-item * {
|
|
||||||
vertical-align: middle; }
|
|
||||||
|
|
||||||
.pure-menu-item .github-link {
|
|
||||||
height: 1.8rem;
|
|
||||||
display: block; }
|
|
||||||
.pure-menu-item .github-link svg {
|
|
||||||
height: 100%; }
|
|
||||||
|
|
||||||
.pure-menu-item .bi-heart:hover {
|
|
||||||
cursor: pointer; }
|
|
||||||
|
|
||||||
#overlay {
|
|
||||||
opacity: 0.95;
|
|
||||||
position: fixed;
|
|
||||||
width: 350px;
|
|
||||||
max-width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
top: 0;
|
|
||||||
right: -350px;
|
|
||||||
background-color: var(--color-table-stripe);
|
|
||||||
z-index: 2;
|
|
||||||
transform: translateX(0);
|
|
||||||
transition: transform .5s ease; }
|
|
||||||
#overlay.visible {
|
|
||||||
transform: translateX(-100%); }
|
|
||||||
#overlay .content {
|
|
||||||
font-size: 0.875rem;
|
|
||||||
padding: 1rem;
|
|
||||||
margin-top: 5rem;
|
|
||||||
max-width: 400px;
|
|
||||||
color: var(--color-watch-table-row-text); }
|
|
||||||
|
|
||||||
#heartpath {
|
|
||||||
transition: all ease 0.3s !important; }
|
|
||||||
#heartpath:hover {
|
|
||||||
fill: #ff0000 !important;
|
|
||||||
transition: all ease 0.3s !important; }
|
|
||||||
|
|
||||||
body {
|
body {
|
||||||
color: var(--color-text);
|
color: var(--color-text);
|
||||||
background: var(--color-background-page);
|
background: var(--color-background-page); }
|
||||||
font-family: Helvetica Neue, Helvetica, Lucida Grande, Arial, Ubuntu, Cantarell, Fira Sans, sans-serif; }
|
|
||||||
|
|
||||||
.visually-hidden {
|
.visually-hidden {
|
||||||
clip: rect(0 0 0 0);
|
clip: rect(0 0 0 0);
|
||||||
@@ -423,6 +376,9 @@ a.github-link {
|
|||||||
a.github-link:hover {
|
a.github-link:hover {
|
||||||
color: var(--color-icon-github-hover); }
|
color: var(--color-icon-github-hover); }
|
||||||
|
|
||||||
|
#toggle-search {
|
||||||
|
width: 2rem; }
|
||||||
|
|
||||||
#search-q {
|
#search-q {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
-webkit-transition: all .9s ease;
|
-webkit-transition: all .9s ease;
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
<title>Change Detection{{extra_title}}</title>
|
<title>Change Detection{{extra_title}}</title>
|
||||||
<link rel="alternate" type="application/rss+xml" title="Changedetection.io » Feed{% if active_tag %}- {{active_tag}}{% endif %}" href="{{ url_for('rss', tag=active_tag , token=app_rss_token)}}" >
|
<link rel="alternate" type="application/rss+xml" title="Changedetection.io » Feed{% if active_tag %}- {{active_tag}}{% endif %}" href="{{ url_for('rss', tag=active_tag , token=app_rss_token)}}" >
|
||||||
<link rel="stylesheet" href="{{url_for('static_content', group='styles', filename='pure-min.css')}}" >
|
<link rel="stylesheet" href="{{url_for('static_content', group='styles', filename='pure-min.css')}}" >
|
||||||
<link rel="stylesheet" href="{{url_for('static_content', group='styles', filename='styles.css')}}?v={{ get_css_version() }}" >
|
<link rel="stylesheet" href="{{url_for('static_content', group='styles', filename='styles.css')}}" >
|
||||||
{% if extra_stylesheets %}
|
{% if extra_stylesheets %}
|
||||||
{% for m in extra_stylesheets %}
|
{% for m in extra_stylesheets %}
|
||||||
<link rel="stylesheet" href="{{ m }}?ver={{ get_css_version() }}" >
|
<link rel="stylesheet" href="{{ m }}?ver=1000" >
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
@@ -108,20 +108,6 @@
|
|||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="pure-menu-item" id="heart-us">
|
|
||||||
<svg
|
|
||||||
fill="#ff0000"
|
|
||||||
class="bi bi-heart"
|
|
||||||
preserveAspectRatio="xMidYMid meet"
|
|
||||||
viewBox="0 0 16.9 16.1"
|
|
||||||
id="svg-heart"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg">
|
|
||||||
<path id="heartpath" d="M 5.338316,0.50302766 C 0.71136983,0.50647126 -3.9576371,7.2707777 8.5004254,15.503028 23.833425,5.3700277 13.220206,-2.5384409 8.6762066,1.6475589 c -0.060791,0.054322 -0.11943,0.1110064 -0.1757812,0.1699219 -0.057,-0.059 -0.1157813,-0.116875 -0.1757812,-0.171875 C 7.4724566,0.86129334 6.4060729,0.50223298 5.338316,0.50302766 Z"
|
|
||||||
style="fill:var(--color-background);fill-opacity:1;stroke:#ff0000;stroke-opacity:1" />
|
|
||||||
</svg>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
<li class="pure-menu-item">
|
<li class="pure-menu-item">
|
||||||
<a class="github-link" href="https://github.com/dgtlmoon/changedetection.io">
|
<a class="github-link" href="https://github.com/dgtlmoon/changedetection.io">
|
||||||
{% include "svgs/github.svg" %}
|
{% include "svgs/github.svg" %}
|
||||||
@@ -145,44 +131,7 @@
|
|||||||
<div class="sticky-tab" id="right-sticky">{{ right_sticky }}</div>
|
<div class="sticky-tab" id="right-sticky">{{ right_sticky }}</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div id="overlay">
|
<header>
|
||||||
<div class="content">
|
|
||||||
<strong>changedetection.io needs your support!</strong><br>
|
|
||||||
<p>
|
|
||||||
You can help us by supporting changedetection.io on these platforms;
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="https://alternativeto.net/software/changedetection-io/about/">Rate us at
|
|
||||||
AlternativeTo.net</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://github.com/dgtlmoon/changedetection.io">Star us on GitHub</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://twitter.com/change_det_io">Follow us at Twitter/X</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://www.linkedin.com/company/changedetection-io">Check us out on LinkedIn</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
And tell your friends and colleagues :)
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
The more popular changedetection.io is, the more time we can dedicate to adding amazing features!
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Many thanks :)<br>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<i>changedetection.io team</i>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<header>
|
|
||||||
{% block header %}{% endblock %}
|
{% block header %}{% endblock %}
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
<svg class="octicon octicon-mark-github v-align-middle" viewbox="0 0 16 16" version="1.1" aria-hidden="true">
|
<svg class="octicon octicon-mark-github v-align-middle" height="32" viewbox="0 0 16 16" version="1.1" width="32" aria-hidden="true">
|
||||||
<path
|
<path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path>
|
||||||
fill-rule="evenodd"
|
|
||||||
d="M 8,0 C 3.58,0 0,3.58 0,8 c 0,3.54 2.29,6.53 5.47,7.59 0.4,0.07 0.55,-0.17 0.55,-0.38 0,-0.19 -0.01,-0.82 -0.01,-1.49 C 4,14.09 3.48,13.23 3.32,12.78 3.23,12.55 2.84,11.84 2.5,11.65 2.22,11.5 1.82,11.13 2.49,11.12 3.12,11.11 3.57,11.7 3.72,11.94 4.44,13.15 5.59,12.81 6.05,12.6 6.12,12.08 6.33,11.73 6.56,11.53 4.78,11.33 2.92,10.64 2.92,7.58 2.92,6.71 3.23,5.99 3.74,5.43 3.66,5.23 3.38,4.41 3.82,3.31 c 0,0 0.67,-0.21 2.2,0.82 0.64,-0.18 1.32,-0.27 2,-0.27 0.68,0 1.36,0.09 2,0.27 1.53,-1.04 2.2,-0.82 2.2,-0.82 0.44,1.1 0.16,1.92 0.08,2.12 0.51,0.56 0.82,1.27 0.82,2.15 0,3.07 -1.87,3.75 -3.65,3.95 0.29,0.25 0.54,0.73 0.54,1.48 0,1.07 -0.01,1.93 -0.01,2.2 0,0.21 0.15,0.46 0.55,0.38 A 8.013,8.013 0 0 0 16,8 C 16,3.58 12.42,0 8,0 Z"
|
|
||||||
id="path2" />
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 917 B After Width: | Height: | Size: 749 B |
@@ -1,12 +1,11 @@
|
|||||||
eventlet>=0.33.3 # related to dnspython fixes
|
eventlet>=0.31.0
|
||||||
feedgen~=0.9
|
feedgen~=0.9
|
||||||
flask-compress
|
flask-compress
|
||||||
# 0.6.3 included compatibility fix for werkzeug 3.x (2.x had deprecation of url handlers)
|
flask-login~=0.6
|
||||||
flask-login>=0.6.3
|
|
||||||
flask-paginate
|
flask-paginate
|
||||||
flask_expects_json~=1.7
|
flask_expects_json~=1.7
|
||||||
flask_restful
|
flask_restful
|
||||||
flask_wtf~=1.2
|
flask_wtf
|
||||||
flask~=2.3
|
flask~=2.3
|
||||||
inscriptis~=2.2
|
inscriptis~=2.2
|
||||||
pytz
|
pytz
|
||||||
@@ -25,7 +24,11 @@ chardet>2.3.0
|
|||||||
wtforms~=3.0
|
wtforms~=3.0
|
||||||
jsonpath-ng~=1.5.3
|
jsonpath-ng~=1.5.3
|
||||||
|
|
||||||
dnspython~=2.4 # related to eventlet fixes
|
|
||||||
|
# dnspython 2.3.0 is not compatible with eventlet
|
||||||
|
# * https://github.com/eventlet/eventlet/issues/781
|
||||||
|
# * https://datastax-oss.atlassian.net/browse/PYTHON-1320
|
||||||
|
dnspython<2.3.0
|
||||||
|
|
||||||
# jq not available on Windows so must be installed manually
|
# jq not available on Windows so must be installed manually
|
||||||
|
|
||||||
@@ -48,7 +51,7 @@ lxml
|
|||||||
|
|
||||||
selenium~=4.14.0
|
selenium~=4.14.0
|
||||||
|
|
||||||
werkzeug~=3.0
|
werkzeug
|
||||||
|
|
||||||
# Templating, so far just in the URLs but in the future can be for the notifications also
|
# Templating, so far just in the URLs but in the future can be for the notifications also
|
||||||
jinja2~=3.1
|
jinja2~=3.1
|
||||||
|
|||||||
Reference in New Issue
Block a user