Compare commits

...

8 commits

Author SHA1 Message Date
Jrnl Bot
d4135383d6 Increment version to v2.6-beta5 2020-12-20 02:24:38 +00:00
Jonathan Wren
258ab85bb7
add more debug data to changelog workflow, update changelog 2020-12-19 18:23:10 -08:00
Jonathan Wren
6dbe2a1df4
do additional check for json data, and retry for 5-ish minutes on failure (#1125) 2020-12-19 16:36:25 -08:00
Jonathan Wren
08fb53a6d4
standardize version regex in release pipeline (#1124) 2020-12-19 15:07:45 -08:00
Jrnl Bot
bacab5f871 Update changelog [ci skip] 2020-12-19 22:54:47 +00:00
Micah Jerome Ellison
c5729420a4
Comply with GPL by acknowledging all authors and including license info in each source file (#1121)
* Update authors to "jrnl contributors" to comply with GPL3
* Include jrnl email address with contributors
* Include GPL notice in jrnl --version
* Apply consistent copyright and license to all Python files
* Add copyright and license to documentation
* Add copyright and license to docs theme
* Wiping poetry cache to try to resolve a test issue
* Testing with Python 3.9.0 in attempt to bypass GitHub Actions failure in 3.9.1
* make format
* Exclude Windows Python 3.9 build which is failing due to a GitHub Actions problem
* Modify testing to get around this 3.9 issue...
* Fix exclude
2020-12-19 14:53:15 -08:00
Jrnl Bot
a14c2c4ded Update changelog [ci skip] 2020-12-19 21:28:48 +00:00
Jonathan Wren
861bf98332
Small accessibility fixes for docs site (#1122)
* remove old file that was only needed for gh-pages

* fix broken icons on docs home page

* add more contrast to twitter button hover state

* tweak non-accessible color to meet standard

* tweak non-accessible colors to meet standard
2020-12-19 13:27:10 -08:00
53 changed files with 173 additions and 78 deletions

View file

@ -35,7 +35,7 @@ jobs:
if [[ $GITHUB_REF =~ ^refs/tags/ ]]; then
# This is a tag build (i.e. a release)
echo '::debug::Release build'
if [[ ! $BRANCH =~ ^v[0-9]+(\.[0-9]+){1,2}(-(alpha|beta)(\.[0-9]+)?)?$ ]]; then
if [[ ! $BRANCH =~ ^v[0-9]+(\.[0-9]+){1,2}(-(alpha|beta)([0-9]+)?)?$ ]]; then
echo "::error::Invalid tag format: ${BRANCH}"
exit 1
fi
@ -56,7 +56,7 @@ jobs:
if [[ "$(git rev-parse "origin/$BRANCH")" != $GITHUB_SHA ]]; then
# Normal build on a branch (no tag)
echo "::debug::BRANCH: $BRANCH"
echo "::debug::BRANCH: $BRANCH $(git rev-parse origin/$BRANCH)"
echo "::debug::GITHUB_SHA: $GITHUB_SHA"
echo "::error::$BRANCH has been updated since build started. Aborting changelog."
exit 1
@ -130,7 +130,7 @@ jobs:
echo "SOMETHING_CHANGED=$SOMETHING_CHANGED" >> $GITHUB_ENV
- name: Commit
if: env.SOMETHING_CHANGED
if: env.SOMETHING_CHANGED == 'true'
run: |
git config user.email "jrnl.bot@gmail.com"
git config user.name "Jrnl Bot"

View file

@ -3,7 +3,7 @@ on:
workflow_dispatch:
inputs:
version:
description: 'Version (e.g. v2.5 or v2.5.1-beta)'
description: 'Version (e.g. v2.5, v2.5.1-beta, v2.6-beta2)'
required: true
jobs:
@ -15,7 +15,7 @@ jobs:
run: |
JRNL_VERSION="${{ github.event.inputs.version }}"
echo "::debug::version: $JRNL_VERSION"
if [[ ! $JRNL_VERSION =~ ^v[0-9]+(\.[0-9]+){1,2}(-(alpha|beta)(\.[0-9]+)?)?$ ]]; then
if [[ ! $JRNL_VERSION =~ ^v[0-9]+(\.[0-9]+){1,2}(-(alpha|beta)([0-9]+)?)?$ ]]; then
echo
echo "::error::Bad version"
echo
@ -75,6 +75,7 @@ jobs:
git add pyproject.toml jrnl/__version__.py
git commit -m "Increment version to ${JRNL_VERSION}"
git tag -a -m "$JRNL_VERSION" "$JRNL_VERSION"
git push
git push --tags
- name: Build
@ -162,10 +163,30 @@ jobs:
run: brew install pipgrip
- name: Query PyPI API
run: curl -Ls https://pypi.org/pypi/jrnl/json > api_response.json
uses: nick-invision/retry@v2
with:
timeout_seconds: 10
max_attempts: 30
retry_wait_seconds: 10
command: |
curl -Ls https://pypi.org/pypi/jrnl/json > api_response.json
# if query doesn't have our version yet, give it some time before trying again
if [[ "null" == "$(jq ".releases[\"${PYPI_VERSION}\"][1].url" -r api_response.json)" ]]; then
echo "::debug::PYPI_VERSION: $PYPI_VERSION"
echo "::debug::JQ VALUE: $(jq ".releases[\"${PYPI_VERSION}\"][1].url" -r api_response.json)"
echo "::group::cat api_response.json"
cat api_response.json
echo "::endgroup::"
exit 1
fi
- name: Update Homebrew Formula
run: >
uses: nick-invision/retry@v2
with:
timeout_minutes: 8
max_attempts: 6
retry_wait_seconds: 30
command: >
brew bump-formula-pr "Formula/${FORMULA_NAME}.rb"
--url $(jq ".releases[\"${PYPI_VERSION}\"][1].url" -r api_response.json)
--sha256 $(jq ".releases[\"${PYPI_VERSION}\"][1].digests.sha256" -r api_response.json)
@ -174,6 +195,7 @@ jobs:
--write
--commit
--force
--verbose
- name: Update commit message
run: |

View file

@ -9,7 +9,7 @@ on:
- 'tests/**'
- 'poetry.lock'
- 'pyproject.toml'
pull_request_target:
pull_request:
branches: [ develop ]
paths:
- 'jrnl/**'
@ -27,6 +27,9 @@ jobs:
matrix:
python-version: [ 3.7, 3.8, 3.9 ]
os: [ ubuntu-latest, macos-latest, windows-latest ]
exclude: # Added for GitHub Actions PR problem 2020-12-19 -- remove later!
- os: windows-latest
python-version: 3.9
steps:
- uses: actions/checkout@v2
@ -40,7 +43,7 @@ jobs:
uses: actions/cache@v2
with:
path: .venv
key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ matrix.python-version }}
key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ matrix.python-version }}-v2
- name: Install dependencies
run: |
@ -67,35 +70,3 @@ jobs:
- name: Test with behave
if: success() || failure()
run: poetry run behave --no-skipped --format progress2 --junit --junit-directory reports/behave
- name: Upload Unit Test Results
if: success() || failure()
uses: actions/upload-artifact@v2
with:
name: Unit Test Results
path: reports/**/*.xml
publish-test-results:
if: success() || failure()
name: "Publish Unit Tests Results"
needs: test
runs-on: ubuntu-latest
steps:
- name: Download Artifacts
uses: actions/download-artifact@v2
with:
path: artifacts
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v1.4
if: always()
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
check_name: Unit Test Results
hide_comments: all but latest
comment_on_pr: true
files: '**/*.xml'
report_individual_runs: true
deduplicate_classes_by_file_name: false

View file

@ -1,8 +1,8 @@
# Changelog
## [Unreleased](https://github.com/jrnl-org/jrnl/)
## [v2.6-beta3](https://pypi.org/project/jrnl/v2.6-beta3/) (2020-12-19)
[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.6-beta...HEAD)
[Full Changelog](https://github.com/jrnl-org/jrnl/compare/v2.6-beta...v2.6-beta3)
**Fixed bugs:**
@ -16,6 +16,8 @@
**Documentation:**
- Small accessibility fixes for docs site [\#1122](https://github.com/jrnl-org/jrnl/pull/1122)
- Comply with GPL by acknowledging all authors and including license info in each source file [\#1121](https://github.com/jrnl-org/jrnl/pull/1121)
- Fix lone closing parenthesis [\#1118](https://github.com/jrnl-org/jrnl/pull/1118)
## [v2.6-beta](https://pypi.org/project/jrnl/v2.6-beta/) (2020-12-12)

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
# Contributing
We welcome contributions to jrnl, whether it's through reporting bugs, improving the documentation, testing releases, engaging in discussion on features and bugs, or writing code.

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
# Advanced Usage
## Configuration File

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
# Encryption
## A Note on Security

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
# Formats
`jrnl` supports a variety of alternate formats. These can be used to display your

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
# Getting started
## Installation

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
# Overview
`jrnl` is a simple journal application for the command line.

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
# Privacy and Security
`jrnl` is designed with privacy and security in mind, but like any other

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
# FAQ
## Recipes

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
# Basic Usage #
`jrnl` has two modes: **composing** and **viewing**. Whenever you don't enter

View file

@ -1,2 +0,0 @@
jrnl.sh

View file

@ -1,3 +1,6 @@
/* Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html */
:root {
/* For dark bg */
--white: #fcfcfc;
@ -14,7 +17,7 @@
/* For light bg */
--teal: #2a8068;
--dark-blue: #356eb7;
--mid-purple: #92679b;
--mid-purple: #846392;
--bright-purple: #af27ad;
--dark-purple: #604385;
--darkest-purple: #251A32;

View file

@ -125,6 +125,14 @@ Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax
background: var(--dark-blue);
}
.rst-content .note.admonition {
background: var(--light-blue);
}
.rst-content .tip .admonition-title {
background: var(--teal);
}
.rst-content .tip .admonition {
background: var(--light-blue);
}

View file

@ -1,3 +1,5 @@
/* Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html */
/* reset */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}
body {
@ -7,7 +9,7 @@ body {
}
.icon {
background-image: url("img/sprites.svg");
background-image: url("/img/sprites.svg");
width: 32px;
height: 32px;
display: inline-block;
@ -138,7 +140,7 @@ header {
#twitter:hover,
#twitter:active {
text-decoration: none;
box-shadow: 0 2px 25px 0 var(--black-shadow);
box-shadow: 0 2px 25px 0 var(--blacker-shadow);
transition: all .5s ease;
}

View file

@ -1,3 +1,6 @@
/* Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html */
/* ------------------------------------------------------------ */
/* Overrides for jrnl theme */
/* ------------------------------------------------------------ */

View file

@ -1,3 +1,5 @@
<!-- Copyright (C) 2012-2021 jrnl contributors
License: https://www.gnu.org/licenses/gpl-3.0.html -->
<!DOCTYPE html>
<html lang="en">

View file

@ -4,13 +4,13 @@ Feature: Functionality of jrnl outside of actually handling journals
Given we use the config "simple.yaml"
When we run "jrnl --version"
Then we should get no error
Then the output should match "^jrnl version v\d+\.\d+(\.\d+)?(-(alpha|beta))?$"
Then the output should match "^jrnl version v\d+\.\d+(\.\d+)?(-(alpha|beta)\d*)?"
Scenario: Displaying the version number
Given we use the config "simple.yaml"
When we run "jrnl -v"
Then we should get no error
Then the output should match "^jrnl version v\d+\.\d+(\.\d+)?(-(alpha|beta))?$"
Then the output should match "^jrnl version v\d+\.\d+(\.\d+)?(-(alpha|beta)\d*)?"
Scenario: Running the diagnostic command
When we run "jrnl --diagnostic"

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import ast
from collections import defaultdict
import os

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import json
import os
import shutil

View file

@ -1,4 +1,7 @@
#!/usr/bin/env python
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from datetime import datetime
import re

View file

@ -1,5 +1,8 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import codecs
import fnmatch

View file

@ -1,4 +1,7 @@
#!/usr/bin/env python
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from datetime import datetime
import logging

View file

@ -1,4 +1,6 @@
#!/usr/bin/env python
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
try:
from .__version__ import __version__

View file

@ -1,4 +1,7 @@
#!/usr/bin/env python
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import sys
from .cli import cli

View file

@ -1 +1 @@
__version__ = "v2.6-beta"
__version__ = "v2.6-beta5"

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import argparse
import re
import textwrap

View file

@ -1,21 +1,7 @@
#!/usr/bin/env python
"""
jrnl
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
license: GPLv3, see LICENSE.md for more details.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
import logging
import sys

View file

@ -29,7 +29,13 @@ def preconfig_version(_):
from jrnl import __title__
from jrnl import __version__
version_str = f"{__title__} version {__version__}"
version_str = f"""{__title__} version {__version__}
Copyright (C) 2012-2021 jrnl contributors
This is free software, and you are welcome to redistribute it under certain
conditions; for details, see: https://www.gnu.org/licenses/gpl-3.0.html"""
print(version_str)

View file

@ -1,3 +1,7 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
class UserAbort(Exception):
pass

View file

@ -1,4 +1,7 @@
#!/usr/bin/env python
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import glob
import logging

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import logging
import sys

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from sys import platform
on_windows = "win32" in platform

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import logging

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from .fancy_exporter import FancyExporter
from .jrnl_importer import JRNLImporter

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from textwrap import TextWrapper

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import sys

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import json

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import os
import re

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from .text_exporter import TextExporter
from .util import get_tags_count

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import re
import yaml

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from glob import glob
import os

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import os
import re

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
def get_tags_count(journal):

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from xml.dom import minidom

View file

@ -1,5 +1,7 @@
#!/usr/bin/env python
# encoding: utf-8
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import os
import re

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import getpass
import sys

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
from datetime import datetime
FAKE_YEAR = 9999

View file

@ -1,3 +1,6 @@
# Copyright (C) 2012-2021 jrnl contributors
# License: https://www.gnu.org/licenses/gpl-3.0.html
import os
import sys

View file

@ -14,7 +14,7 @@ markdown_extensions:
- admonition
repo_url: https://github.com/jrnl-org/jrnl/
edit_uri: edit/develop/docs/
site_author: Manuel Ebert
site_author: jrnl contributors
site_description: Collect your thoughts and notes without leaving the command line.
nav:
- Overview: overview.md

View file

@ -1,8 +1,9 @@
[tool.poetry]
name = "jrnl"
version = "v2.6-beta"
version = "v2.6-beta5"
description = "Collect your thoughts and notes without leaving the command line."
authors = [
"jrnl contributors <jrnl-sh@googlegroups.com>",
"Manuel Ebert <manuel@1450.me>",
"Jonathan Wren <jonathan@nowandwren.com>",
"Micah Ellison <micahellison@gmail.com>"