mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-17 19:48:31 +02:00
Merge branch 'develop' into docs-reference-1300
This commit is contained in:
commit
70cac42723
8 changed files with 180 additions and 112 deletions
61
.github/actions/run_tests/action.yaml
vendored
Normal file
61
.github/actions/run_tests/action.yaml
vendored
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
name: run jrnl tests
|
||||||
|
description: Runs all jrnl tests on multiple platforms
|
||||||
|
inputs:
|
||||||
|
cache-string:
|
||||||
|
description: 'Cache string secret. Change to bust the cache'
|
||||||
|
required: true
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- run: git config --global core.autocrlf false
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
|
- name: Capture full Python version in env
|
||||||
|
run: echo "PYTHON_FULL_VERSION=$(python --version)" >> $GITHUB_ENV
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: poetry cache # Change CACHE_STRING secret to bust the cache
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: .venv
|
||||||
|
key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ env.PYTHON_FULL_VERSION }}-${{ inputs.cache-string }}
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
echo '::group::poetry'
|
||||||
|
pip --disable-pip-version-check install poetry
|
||||||
|
poetry config --local virtualenvs.in-project true
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
echo '::group::Other dependencies'
|
||||||
|
poetry install --remove-untracked
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
echo 'DEPS_INSTALLED=true' >> $GITHUB_ENV
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Code formatting (Black)
|
||||||
|
if: ${{ env.DEPS_INSTALLED == 'true' }}
|
||||||
|
run: |
|
||||||
|
poetry run black --version
|
||||||
|
poetry run black --check --diff .
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Code Style (flake8)
|
||||||
|
if: >
|
||||||
|
${{ env.DEPS_INSTALLED == 'true' }}
|
||||||
|
run: |
|
||||||
|
poetry run pflake8 --version
|
||||||
|
poetry run pflake8 jrnl tests
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Test with pytest
|
||||||
|
if: >
|
||||||
|
${{ env.DEPS_INSTALLED == 'true' }}
|
||||||
|
run: poetry run pytest --junitxml=reports/pytest/results.xml
|
||||||
|
shell: bash
|
17
.github/workflows/docs.yaml
vendored
17
.github/workflows/docs.yaml
vendored
|
@ -22,6 +22,11 @@ jobs:
|
||||||
accessibility:
|
accessibility:
|
||||||
if: contains(toJson(github.event.commits), '[ci skip]') == false
|
if: contains(toJson(github.event.commits), '[ci skip]') == false
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: true
|
||||||
|
matrix:
|
||||||
|
python-version: [ 3.9 ]
|
||||||
|
os: [ ubuntu-latest ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
@ -29,7 +34,7 @@ jobs:
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v2
|
||||||
with:
|
with:
|
||||||
python-version: 3.9
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
- name: Setup Node.js environment
|
- name: Setup Node.js environment
|
||||||
uses: actions/setup-node@main
|
uses: actions/setup-node@main
|
||||||
|
@ -61,8 +66,16 @@ jobs:
|
||||||
env:
|
env:
|
||||||
site_url: http://127.0.0.1:8000
|
site_url: http://127.0.0.1:8000
|
||||||
run: |
|
run: |
|
||||||
|
filename='sitemap.xml'
|
||||||
select="{urls: [\"${site_url}/\", \"${site_url}/search.html?q=jrnl\", .urlset.url[].loc]}"
|
select="{urls: [\"${site_url}/\", \"${site_url}/search.html?q=jrnl\", .urlset.url[].loc]}"
|
||||||
curl -s "$site_url/sitemap.xml" | poetry run xq "$select" > list.json
|
|
||||||
|
curl -s "${site_url}/${filename}" > $filename
|
||||||
|
|
||||||
|
echo "::group::${filename}"
|
||||||
|
cat $filename
|
||||||
|
echo '::endgroup::'
|
||||||
|
|
||||||
|
poetry run xq "$select" $filename > list.json
|
||||||
|
|
||||||
- name: Accessibility testing (Pa11y)
|
- name: Accessibility testing (Pa11y)
|
||||||
run: pa11y-ci -c list.json
|
run: pa11y-ci -c list.json
|
||||||
|
|
84
.github/workflows/testing.yaml
vendored
84
.github/workflows/testing.yaml
vendored
|
@ -1,84 +0,0 @@
|
||||||
name: Testing
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ develop, release ]
|
|
||||||
paths:
|
|
||||||
- 'jrnl/**'
|
|
||||||
- 'features/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'poetry.lock'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- '.github/workflows/testing.yaml'
|
|
||||||
pull_request:
|
|
||||||
branches: [ develop ]
|
|
||||||
paths:
|
|
||||||
- 'jrnl/**'
|
|
||||||
- 'features/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'poetry.lock'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- '.github/workflows/testing.yaml'
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: bash # needed to prevent Windows from using PowerShell
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
if: >
|
|
||||||
! contains(github.event.head_commit.message, '[ci skip]')
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
continue-on-error: ${{ matrix.python-version == '3.11-dev' }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
python-version: [ 3.7, 3.8, 3.9, '3.10', 3.11-dev ]
|
|
||||||
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- run: git config --global core.autocrlf false
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: ${{ matrix.python-version }}
|
|
||||||
|
|
||||||
- name: Capture full Python version in env
|
|
||||||
run: echo "PYTHON_FULL_VERSION=$(python --version)" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: poetry cache # Change CACHE_STRING secret to bust the cache
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: .venv
|
|
||||||
key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ env.PYTHON_FULL_VERSION }}-${{ secrets.CACHE_STRING }}
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
echo '::group::poetry'
|
|
||||||
pip --disable-pip-version-check install poetry
|
|
||||||
poetry config --local virtualenvs.in-project true
|
|
||||||
echo '::endgroup::'
|
|
||||||
|
|
||||||
echo '::group::Other dependencies'
|
|
||||||
poetry install --remove-untracked
|
|
||||||
echo '::endgroup::'
|
|
||||||
|
|
||||||
echo 'DEPS_INSTALLED=true' >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Code formatting (Black)
|
|
||||||
if: ${{ env.DEPS_INSTALLED == 'true' }}
|
|
||||||
run: |
|
|
||||||
poetry run black --version
|
|
||||||
poetry run black --check --diff .
|
|
||||||
|
|
||||||
- name: Code Style (flake8)
|
|
||||||
if: ${{ env.DEPS_INSTALLED == 'true' }}
|
|
||||||
run: |
|
|
||||||
poetry run pflake8 --version
|
|
||||||
poetry run pflake8 jrnl tests
|
|
||||||
|
|
||||||
- name: Test with pytest
|
|
||||||
if: ${{ env.DEPS_INSTALLED == 'true' }}
|
|
||||||
run: poetry run pytest --junitxml=reports/pytest/results.xml
|
|
43
.github/workflows/testing_prs.yaml
vendored
Normal file
43
.github/workflows/testing_prs.yaml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
name: Testing
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ develop, release ]
|
||||||
|
paths:
|
||||||
|
- 'jrnl/**'
|
||||||
|
- 'features/**'
|
||||||
|
- 'tests/**'
|
||||||
|
- 'poetry.lock'
|
||||||
|
- 'pyproject.toml'
|
||||||
|
- '.github/workflows/testing.yaml'
|
||||||
|
pull_request:
|
||||||
|
branches: [ develop ]
|
||||||
|
paths:
|
||||||
|
- 'jrnl/**'
|
||||||
|
- 'features/**'
|
||||||
|
- 'tests/**'
|
||||||
|
- 'poetry.lock'
|
||||||
|
- 'pyproject.toml'
|
||||||
|
- '.github/workflows/testing.yaml'
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash # needed to prevent Windows from using PowerShell
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
if: >
|
||||||
|
! contains(github.event.head_commit.message, '[ci skip]')
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
python-version: [ 3.7, 3.8, 3.9, '3.10' ]
|
||||||
|
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
||||||
|
steps:
|
||||||
|
- run: git config --global core.autocrlf false
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Run tests
|
||||||
|
uses: ./.github/actions/run_tests
|
||||||
|
with:
|
||||||
|
cache-string: ${{ secrets.CACHE_STRING }}
|
25
.github/workflows/testing_schedule.yaml
vendored
Normal file
25
.github/workflows/testing_schedule.yaml
vendored
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
name: Testing
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * SAT'
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash # needed to prevent Windows from using PowerShell
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test_all:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
python-version: [ 3.7, 3.8, 3.9, '3.10', 3.11-dev ]
|
||||||
|
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
||||||
|
steps:
|
||||||
|
- run: git config --global core.autocrlf false
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Run tests
|
||||||
|
uses: ./.github/actions/run_tests
|
||||||
|
with:
|
||||||
|
cache-string: ${{ secrets.CACHE_STRING }}
|
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -1,5 +1,17 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [Unreleased](https://github.com/jrnl-org/jrnl/)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.4-beta1...HEAD)
|
||||||
|
|
||||||
|
**Fixed bugs:**
|
||||||
|
|
||||||
|
- Specifying 'today' does not filter by year, also returns entries from same date in prior years [\#1391](https://github.com/jrnl-org/jrnl/issues/1391)
|
||||||
|
|
||||||
|
**Packaging:**
|
||||||
|
|
||||||
|
- Bump keyring from 23.4.0 to 23.5.0 [\#1392](https://github.com/jrnl-org/jrnl/pull/1392) ([dependabot[bot]](https://github.com/apps/dependabot))
|
||||||
|
|
||||||
## [v2.8.4-beta1](https://pypi.org/project/jrnl/v2.8.4-beta1/) (2021-12-11)
|
## [v2.8.4-beta1](https://pypi.org/project/jrnl/v2.8.4-beta1/) (2021-12-11)
|
||||||
|
|
||||||
[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.4-beta...v2.8.4-beta1)
|
[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.8.4-beta...v2.8.4-beta1)
|
||||||
|
|
|
@ -79,13 +79,28 @@ div.rst-content {
|
||||||
max-width: 54em;
|
max-width: 54em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.wy-side-nav-search,
|
.wy-side-nav-search,
|
||||||
.wy-menu-vertical li.current,
|
.wy-menu-vertical li.current,
|
||||||
.wy-menu-vertical li.toctree-l1.current > a {
|
.wy-menu-vertical li.toctree-l1.current > a,
|
||||||
|
.wy-menu-vertical li.toctree-l2.current > a,
|
||||||
|
.wy-menu-vertical li.toctree-l3.current > a {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.wy-menu-vertical li.toctree-l2.current li.toctree-l3,
|
||||||
|
.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wy-menu-vertical li.toctree-l4,
|
||||||
|
.wy-menu-vertical li.toctree-l5,
|
||||||
|
.wy-menu-vertical li.toctree-l6,
|
||||||
|
.wy-menu-vertical li.toctree-l7 {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.wy-nav-top {
|
.wy-nav-top {
|
||||||
background-color: var(--mid-purple);
|
background-color: var(--mid-purple);
|
||||||
background-image: linear-gradient(-211deg, var(--mid-purple) 0%, var(--dark-purple) 100%);
|
background-image: linear-gradient(-211deg, var(--mid-purple) 0%, var(--dark-purple) 100%);
|
||||||
|
@ -118,6 +133,7 @@ a.icon-home:before {
|
||||||
}
|
}
|
||||||
|
|
||||||
.wy-menu-vertical a:hover,
|
.wy-menu-vertical a:hover,
|
||||||
|
.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a:hover,
|
||||||
.wy-menu-vertical li.current a:hover {
|
.wy-menu-vertical li.current a:hover {
|
||||||
background-color: var(--black-shadow);
|
background-color: var(--black-shadow);
|
||||||
color: var(--white);
|
color: var(--white);
|
||||||
|
@ -130,14 +146,10 @@ a.icon-home:before {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wy-menu-vertical li.current > a.current {
|
.wy-menu-vertical li.toctree-l1.current > a {
|
||||||
background: var(--darkest-purple);
|
background: var(--darkest-purple);
|
||||||
border: none !important;
|
border: none !important;
|
||||||
}
|
pointer-events: none;
|
||||||
|
|
||||||
.wy-menu-vertical li.current > a:hover {
|
|
||||||
background: var(--darkest-purple);
|
|
||||||
border: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.wy-menu-vertical li.on a,
|
.wy-menu-vertical li.on a,
|
||||||
|
@ -146,7 +158,7 @@ a.icon-home:before {
|
||||||
}
|
}
|
||||||
|
|
||||||
.wy-menu-vertical li.on a,
|
.wy-menu-vertical li.on a,
|
||||||
.wy-menu-vertical li.current>a:after {
|
.wy-menu-vertical li > a.current:after {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0em;
|
right: 0em;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
|
@ -158,13 +170,6 @@ a.icon-home:before {
|
||||||
border-right: 1em solid var(--white);
|
border-right: 1em solid var(--white);
|
||||||
}
|
}
|
||||||
|
|
||||||
.wy-menu-vertical li.toctree-l2.current {
|
|
||||||
font-size: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wy-menu-vertical li.toctree-l2.current > a{
|
|
||||||
}
|
|
||||||
|
|
||||||
.toctree-expand:before {
|
.toctree-expand:before {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
@ -192,7 +197,6 @@ a.icon-home:before {
|
||||||
|
|
||||||
.wy-nav-side {
|
.wy-nav-side {
|
||||||
background-color: var(--mid-purple);
|
background-color: var(--mid-purple);
|
||||||
background-image: linear-gradient(211deg, var(--mid-purple) 0%, var(--dark-purple) 100%);
|
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
@ -223,14 +227,8 @@ form .search-query::placeholder {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toctree-l2 a:first-child {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wy-menu-vertical li.current ul {
|
.wy-menu-vertical li.current ul {
|
||||||
background-color: var(--mid-purple);
|
background-color: var(--mid-purple);
|
||||||
border-bottom: 1px solid var(--mid-purple);
|
|
||||||
border-top: 1px solid var(--dark-purple);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
8
poetry.lock
generated
8
poetry.lock
generated
|
@ -313,11 +313,11 @@ i18n = ["Babel (>=2.7)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "keyring"
|
name = "keyring"
|
||||||
version = "23.4.0"
|
version = "23.5.0"
|
||||||
description = "Store and access your passwords safely."
|
description = "Store and access your passwords safely."
|
||||||
category = "main"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.7"
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
importlib-metadata = ">=3.6"
|
importlib-metadata = ">=3.6"
|
||||||
|
@ -1053,8 +1053,8 @@ jinja2 = [
|
||||||
{file = "Jinja2-3.0.2.tar.gz", hash = "sha256:827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45"},
|
{file = "Jinja2-3.0.2.tar.gz", hash = "sha256:827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45"},
|
||||||
]
|
]
|
||||||
keyring = [
|
keyring = [
|
||||||
{file = "keyring-23.4.0-py3-none-any.whl", hash = "sha256:3dc0f66062a4f8f6f2ce30d6a516e6e623e6c3c2e76864204ceaf64695408f07"},
|
{file = "keyring-23.5.0-py3-none-any.whl", hash = "sha256:b0d28928ac3ec8e42ef4cc227822647a19f1d544f21f96457965dc01cf555261"},
|
||||||
{file = "keyring-23.4.0.tar.gz", hash = "sha256:88f206024295e3c6fb16bb0a60fb4bb7ec1185629dc5a729f12aa7c236d01387"},
|
{file = "keyring-23.5.0.tar.gz", hash = "sha256:9012508e141a80bd1c0b6778d5c610dd9f8c464d75ac6774248500503f972fb9"},
|
||||||
]
|
]
|
||||||
mako = [
|
mako = [
|
||||||
{file = "Mako-1.1.5-py2.py3-none-any.whl", hash = "sha256:6804ee66a7f6a6416910463b00d76a7b25194cd27f1918500c5bd7be2a088a23"},
|
{file = "Mako-1.1.5-py2.py3-none-any.whl", hash = "sha256:6804ee66a7f6a6416910463b00d76a7b25194cd27f1918500c5bd7be2a088a23"},
|
||||||
|
|
Loading…
Add table
Reference in a new issue