├── .github └── workflows │ └── codeql-analysis.yml ├── .gitignore ├── README.org ├── __init__.py ├── config.py ├── example_invocation.sh ├── lazyblorg.py ├── lib ├── __init__.py ├── htmlizer.py ├── orgparser.py ├── tests │ ├── htmlizer_test.py │ ├── htmlizer_test.sh │ ├── orgparser_test.py │ ├── orgparser_test.sh │ ├── pypandoc_test.py │ ├── pypandoc_test.sh │ ├── simple.org │ ├── simple_org_-_reference.pk │ ├── utils_test.py │ └── utils_test.sh └── utils.py ├── license.txt ├── preview_blogentry.sh ├── requirements.txt ├── start_all_tests.sh ├── start_end-to-end-test.sh ├── start_unit_tests.sh ├── templates ├── blog-format.org ├── public_voit.css └── public_voit.scss ├── testdata ├── basic_blog_update_test │ ├── basic_blog_update_test_-_first_run.org │ └── basic_blog_update_test_-_second_run.org ├── end_to_end_test │ ├── comparison │ │ ├── 1985 │ │ │ └── 01 │ │ │ │ └── 01 │ │ │ │ ├── old-entry1 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry10 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry11 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry12 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry13 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry14 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry2 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry3 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry4 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry5 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry6 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry7 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ ├── old-entry8 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ │ │ └── old-entry9 │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ ├── 2013 │ │ │ ├── 02 │ │ │ │ └── 14 │ │ │ │ │ └── lazyblorg-example-entry │ │ │ │ │ ├── index.html │ │ │ │ │ └── source.org.txt │ │ │ └── 08 │ │ │ │ └── 22 │ │ │ │ └── testid │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ ├── 2014 │ │ │ └── 01 │ │ │ │ └── 30 │ │ │ │ └── full-syntax-test │ │ │ │ ├── 2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 100.jpg │ │ │ │ ├── 2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 300.jpg │ │ │ │ ├── 2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg │ │ │ │ ├── 2019-07-26T11.44.35 Shinjuku - Skyline -- specialP publicvoit - scaled width 200.jpg │ │ │ │ ├── 2019-07-26T11.44.35 Shinjuku - Skyline -- specialP publicvoit - scaled width 750.jpg │ │ │ │ ├── 2019-07-29T19.57.10 This is my Life -- sign specialL cliparts publicvoit - scaled width 350.jpg │ │ │ │ ├── 2019-07-29T19.57.10 This is my Life -- sign specialL cliparts publicvoit.jpg │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ ├── 2016 │ │ │ ├── 10 │ │ │ │ └── 31 │ │ │ │ │ ├── an-hidden-blog-entry │ │ │ │ │ ├── index.html │ │ │ │ │ └── source.org.txt │ │ │ │ │ └── my-temporal-article │ │ │ │ │ ├── index.html │ │ │ │ │ └── source.org.txt │ │ │ ├── 11 │ │ │ │ ├── 16 │ │ │ │ │ └── empty-language-autotag-page │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── source.org.txt │ │ │ │ ├── 27 │ │ │ │ │ ├── image-test │ │ │ │ │ │ ├── 2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 300.jpg │ │ │ │ │ │ ├── 2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 560.jpg │ │ │ │ │ │ ├── 2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── source.org.txt │ │ │ │ │ └── special-characters │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── source.org.txt │ │ │ │ └── 06 │ │ │ │ │ └── sanitization-examples │ │ │ │ │ ├── index.html │ │ │ │ │ └── source.org.txt │ │ │ └── 09 │ │ │ │ └── 18 │ │ │ │ └── from-nothing-to-done │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ ├── 2017 │ │ │ ├── 01 │ │ │ │ └── 08 │ │ │ │ │ └── sanitizing-tests │ │ │ │ │ ├── index.html │ │ │ │ │ └── source.org.txt │ │ │ └── 09 │ │ │ │ └── 30 │ │ │ │ └── link-test │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ ├── 2020 │ │ │ └── 10 │ │ │ │ └── 02 │ │ │ │ └── Heading-which-starts-with-a-list │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ ├── 2021 │ │ │ └── 01 │ │ │ │ └── 30 │ │ │ │ └── drawer-tests │ │ │ │ ├── index.html │ │ │ │ └── source.org.txt │ │ ├── about │ │ │ ├── index.html │ │ │ └── source.org.txt │ │ ├── feeds │ │ │ ├── lazyblorg-all.atom_1.0.links-and-content.xml │ │ │ ├── lazyblorg-all.atom_1.0.links-and-teaser.xml │ │ │ └── lazyblorg-all.atom_1.0.links-only.xml │ │ ├── index.html │ │ ├── persistent-entry │ │ │ ├── index.html │ │ │ └── source.org.txt │ │ └── tags │ │ │ ├── exampletag │ │ │ ├── index.html │ │ │ └── source.org.txt │ │ │ ├── index.html │ │ │ ├── lazyblorg │ │ │ └── index.html │ │ │ ├── mytest │ │ │ └── index.html │ │ │ ├── programming │ │ │ ├── index.html │ │ │ └── source.org.txt │ │ │ └── testtag1 │ │ │ └── index.html │ └── orgfiles │ │ ├── about-placeholder.org │ │ ├── currently_supported_orgmode_syntax.org │ │ ├── real-world-entries.org │ │ ├── test.org │ │ ├── test_case_from_nothing_to_DONE.org │ │ ├── test_case_heading_starts_with_list.org │ │ ├── test_case_sanitizing.org │ │ └── test_case_with_tag_page.org └── testimages │ ├── 2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg │ ├── 2019-07-26T11.44.35 Shinjuku - Skyline -- specialP publicvoit.jpg │ └── 2019-07-29T19.57.10 This is my Life -- sign specialL cliparts publicvoit.jpg └── tests ├── lazyblorg_test.py └── lazyblorg_test.sh /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | name: "CodeQL" 7 | 8 | on: 9 | push: 10 | branches: [master] 11 | pull_request: 12 | # The branches below must be a subset of the branches above 13 | branches: [master] 14 | schedule: 15 | - cron: '0 13 * * 6' 16 | 17 | jobs: 18 | analyze: 19 | name: Analyze 20 | runs-on: ubuntu-latest 21 | 22 | strategy: 23 | fail-fast: false 24 | matrix: 25 | # Override automatic language detection by changing the below list 26 | # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] 27 | language: ['python'] 28 | # Learn more... 29 | # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection 30 | 31 | steps: 32 | - name: Checkout repository 33 | uses: actions/checkout@v2 34 | with: 35 | # We must fetch at least the immediate parents so that if this is 36 | # a pull request then we can checkout the head. 37 | fetch-depth: 2 38 | 39 | # If this run was triggered by a pull request event, then checkout 40 | # the head of the pull request instead of the merge commit. 41 | - run: git checkout HEAD^2 42 | if: ${{ github.event_name == 'pull_request' }} 43 | 44 | # Initializes the CodeQL tools for scanning. 45 | - name: Initialize CodeQL 46 | uses: github/codeql-action/init@v1 47 | with: 48 | languages: ${{ matrix.language }} 49 | # If you wish to specify custom queries, you can do so here or in a config file. 50 | # By default, queries listed here will override any specified in a config file. 51 | # Prefix the list here with "+" to use these queries and those in the config file. 52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 53 | 54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 55 | # If this step fails, then you should remove it and run the build manually (see below) 56 | - name: Autobuild 57 | uses: github/codeql-action/autobuild@v1 58 | 59 | # ℹ️ Command-line programs to run using the OS shell. 60 | # 📚 https://git.io/JvXDl 61 | 62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 63 | # and modify them (or add more) to build your code if your project 64 | # uses a compiled language 65 | 66 | #- run: | 67 | # make bootstrap 68 | # make release 69 | 70 | - name: Perform CodeQL Analysis 71 | uses: github/codeql-action/analyze@v1 72 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *# 2 | .#* 3 | *.archive\# 4 | *.org\# 5 | *.swp 6 | *.pyc 7 | .ropeproject 8 | 2del-* 9 | dev/2del/ 10 | testdata/2del/* 11 | lib/tests/simple_org_-_lastrun.pk 12 | parse_template.sh 13 | regenerate_public_voit.sh 14 | templates/.sass-cache/ 15 | public-voit_-_make_and_publish_-_omit_single_line_changes_to_feeds_-_stop_if_lasterror.sh 16 | public-voit_-_make_and_publish_-_omit_single_line_changes_to_feeds.sh 17 | testdata/end_to_end_test/lazyblorg-e2e-test-logfile.org 18 | testdata/end_to_end_test/lazyblorg-e2e-test-new-metadata.pk 19 | testdata/end_to_end_test/result/ 20 | public-voit_-_stash_navpages_regenerate_in_master_and_reestablish_status.sh 21 | 2015-01-27-pyandoctests/* 22 | /test_before_push_to_github.sh 23 | wiki 24 | public-voit_-_make_and_publish_-_omit_single_line_changes_to_feeds_WITHOUT_TESTS.sh 25 | /simple_org_-_lastrun.pk 26 | testdata/imagecache 27 | .pytest_cache/ 28 | venv/ 29 | run_all_unit_tests.sh 30 | simple_org_-_lastrun_OLD.pk 31 | -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/__init__.py -------------------------------------------------------------------------------- /example_invocation.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | blog=/tmp/lazyblorg/blog 5 | # create the output directory (and parents): 6 | mkdir -p $blog 7 | 8 | # get help on the following parameters: 9 | # python ./lazyblorg.py --help 10 | 11 | # when setting up your own system, you might want to: 12 | # 1. have separate directories for generating your blog and staging/publishing your blog 13 | # 2. copy generated blog data to staging/publishing directory 14 | # 3. point --previous-metadata to the corresponding pk-file in your staging/publishing directory 15 | # 4. modify --orgfiles so that your org-mode files are parsed 16 | # don't forget to include your version of «about-placeholder.org» and «blog-format.org» 17 | 18 | PYTHONPATH="~/src/lazyblorg:" ./lazyblorg.py \ 19 | --targetdir $blog \ 20 | --previous-metadata $blog/metadata.pk \ 21 | --new-metadata $blog/metadata.pk \ 22 | --logfile $(dirname $blog)/logfile.org \ 23 | --orgfiles testdata/end_to_end_test/orgfiles/test.org \ 24 | testdata/end_to_end_test/orgfiles/about-placeholder.org \ 25 | templates/blog-format.org $@ 26 | 27 | cp -v templates/*.css $blog 28 | 29 | #END 30 | -------------------------------------------------------------------------------- /lib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/lib/__init__.py -------------------------------------------------------------------------------- /lib/tests/htmlizer_test.sh: -------------------------------------------------------------------------------- 1 | cd ../../ ; PYTHONPATH=~/src/lazyblorg python3 -m pytest lib/tests/htmlizer_test.py 2 | -------------------------------------------------------------------------------- /lib/tests/orgparser_test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8; mode: python; -*- 3 | 4 | import config # lazyblorg-global settings 5 | import unittest 6 | from lib.utils import * 7 | from lib.orgparser import * 8 | import pickle # for serializing and storing objects into files 9 | from os import remove 10 | from os.path import isfile, join 11 | 12 | 13 | class TestOrgParser(unittest.TestCase): 14 | 15 | # FIXXME: (Note) These test are *not* exhaustive unit tests. They only 16 | # show the usage of the methods. Please add "mean" test cases and 17 | # borderline cases! 18 | 19 | logging = None 20 | 21 | def setUp(self): 22 | verbose = False 23 | quiet = False 24 | self.logging = Utils.initialize_logging("lazyblorg", verbose, quiet) 25 | 26 | def tearDown(self): 27 | pass 28 | 29 | def test_get_list_indentation_number(self): 30 | 31 | # manually written Org-mode file; has to be placed in "lib/tests/" 32 | testfile_org = join("lib", "tests", "simple.org") 33 | parser = OrgParser(testfile_org) 34 | 35 | try: 36 | self.assertEqual(parser._get_list_indentation_number(42), 0) 37 | except AssertionError: 38 | pass # this *should* be cause an AssertionError 39 | try: 40 | self.assertEqual(parser._get_list_indentation_number(True), 0) 41 | except AssertionError: 42 | pass # this *should* be cause an AssertionError 43 | try: 44 | self.assertEqual(parser._get_list_indentation_number(['x']), 0) 45 | except AssertionError: 46 | pass # this *should* be cause an AssertionError 47 | 48 | self.assertEqual(parser._get_list_indentation_number(''), 0) 49 | self.assertEqual(parser._get_list_indentation_number('x'), 0) 50 | self.assertEqual(parser._get_list_indentation_number('x'), 0) 51 | self.assertEqual(parser._get_list_indentation_number('-'), 0) 52 | self.assertEqual(parser._get_list_indentation_number(' - foo bar'), 4) 53 | self.assertEqual( 54 | parser._get_list_indentation_number(' - foo bar'), 4) 55 | self.assertEqual( 56 | parser._get_list_indentation_number(' foo bar'), 4) 57 | self.assertEqual( 58 | parser._get_list_indentation_number(' * foo bar'), 4) 59 | self.assertEqual( 60 | parser._get_list_indentation_number(' 42) foo bar'), 6) 61 | self.assertEqual( 62 | parser._get_list_indentation_number(' 23. foo bar'), 6) 63 | 64 | def test_simple_org_to_blogdata(self): 65 | 66 | # manually written Org-mode file; has to be placed in "lib/tests/" 67 | testfile_org = join("lib", "tests", "simple.org") 68 | testfile_temp_output = join("lib", "tests", "simple_org_-_lastrun.pk") 69 | testfile_temp_reference = join("lib", "tests", "simple_org_-_reference.pk") 70 | 71 | # check, if test input file is found 72 | self.assertTrue(isfile(testfile_org)) 73 | 74 | # make sure that no old output file is found: 75 | if isfile(testfile_temp_output): 76 | remove(testfile_temp_output) 77 | 78 | blog_data = [] # initialize the empty list 79 | parser = OrgParser(testfile_org) 80 | 81 | # parse the example Org-mode file: 82 | file_blog_data, stats_parsed_org_lines = parser.parse_orgmode_file() 83 | blog_data.extend(file_blog_data) 84 | 85 | # write data to dump file: 86 | with open(testfile_temp_output, 'wb') as output: 87 | pickle.dump(blog_data, output) 88 | 89 | # check, if dump file was created: 90 | self.assertTrue(isfile(testfile_temp_output)) 91 | 92 | reference_blog_data = None 93 | 94 | # read reference data from file: 95 | with open(testfile_temp_reference, 'rb') as fileinput: 96 | reference_blog_data = pickle.load(fileinput) 97 | 98 | # a more fine-grained diff (only) on the first element in blog_data: 99 | Utils.diff_two_lists( 100 | blog_data[0]['content'], 101 | reference_blog_data[0]['content']) 102 | # OLD# for x in range(len(blog_data[0]['content'])): 103 | # OLD# if blog_data[0]['content'][x] != reference_blog_data[0]['content'][x]: 104 | # OLD# print " =============== difference ===================" 105 | # OLD# print reference_blog_data[0]['content'][x] 106 | # OLD# print " -------------------------------" 107 | # OLD# print blog_data[0]['content'][x] 108 | # OLD# print " =============== 109 | # ===================" 110 | 111 | self.assertTrue( 112 | Utils.list_of_dicts_are_equal( 113 | reference_blog_data, 114 | blog_data)) 115 | 116 | # END OF FILE ########################################################### 117 | # Local Variables: 118 | # mode: flyspell 119 | # eval: (ispell-change-dictionary "en_US") 120 | # End: 121 | -------------------------------------------------------------------------------- /lib/tests/orgparser_test.sh: -------------------------------------------------------------------------------- 1 | cd ../../ ; PYTHONPATH=~/src/lazyblorg: python3 -m pytest lib/tests/orgparser_test.py 2 | -------------------------------------------------------------------------------- /lib/tests/pypandoc_test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8; mode: python; -*- 3 | 4 | import unittest 5 | import sys 6 | from lib.utils import Utils 7 | 8 | try: 9 | import pypandoc 10 | except ImportError: 11 | print("Could not find Python module \"pypandoc\".\nPlease install it, e.g., with \"sudo pip install pypandoc\".") 12 | sys.exit(1) 13 | 14 | 15 | class TestPypandoc(unittest.TestCase): 16 | 17 | # FIXXME: (Note) These test are *not* exhaustive unit tests. 18 | 19 | logging = None 20 | 21 | def setUp(self): 22 | verbose = False 23 | quiet = False 24 | self.logging = Utils.initialize_logging( 25 | "lazyblorg.tests", verbose, quiet) 26 | 27 | def tearDown(self): 28 | pass 29 | 30 | def test_pypandoc_compatibility(self): 31 | """ 32 | This test is testing if org-mode can be converted to html via pypandoc 33 | """ 34 | 35 | from_formats, to_formats = pypandoc.get_pandoc_formats() 36 | self.assertTrue('org' in from_formats) 37 | self.assertTrue('html5' in to_formats) 38 | 39 | def test_basic_pypandoc_example(self): 40 | """ 41 | This test is testing a basic pypandoc function call. 42 | """ 43 | 44 | pypandoc_result = pypandoc.convert_text( 45 | '- *foo* bar', 'html5', format='org') 46 | expected_html5_result = '\n' 47 | 48 | self.assertEqual( 49 | Utils.normalize_lineendings(pypandoc_result), 50 | Utils.normalize_lineendings(expected_html5_result)) 51 | 52 | def test_pypandoc_with_umlauts(self): 53 | """ 54 | This test is testing umlaut and charset with pypandoc. 55 | """ 56 | 57 | pypandoc_result = pypandoc.convert_text( 58 | 'This is an umlaut test: öÄ߀', 59 | 'html5', 60 | format='org', 61 | encoding='utf-8') 62 | expected_html5_result = '

This is an umlaut test: öÄ߀

\n' 63 | 64 | # FIXXME: Umlaut conversion does habe encoding issues. 65 | self.assertEqual(Utils.normalize_lineendings(pypandoc_result), 66 | Utils.normalize_lineendings(expected_html5_result)) 67 | 68 | def test_pypandoc_formatting_examples(self): 69 | """ 70 | This test is testing Org-mode formatting examples. 71 | """ 72 | 73 | org_example = '''* Basic tests 74 | 75 | - *bold* 76 | - /italic/ 77 | - _underline_ 78 | - +strike through+ 79 | - =code= 80 | - ~commands~ 81 | 82 | - http://orgmode.org 83 | 84 | : small example 85 | 86 | #+COMMENT: this will never be exported 87 | 88 | #+BEGIN_COMMENT 89 | multi 90 | line 91 | comment 92 | #+END_COMMENT 93 | 94 | - not (yet) working and edge cases: 95 | - /*combination italic bold*/ 96 | - */combination bold italic/* 97 | - _*combination underline bold*_ 98 | - *_combination bold underline_* 99 | - =*combination bold code*= 100 | - ~C:\a\very\old\DOS\path~ 101 | - http://orgmode.org 102 | - [[http://orgmode.org][orgmode-Homepage]] 103 | - [[http://orgmode.org][*orgmode* /Homepage/]] 104 | '''.replace('\a', '\\a').replace('\v', '\\v').replace('\\', '\\') 105 | 106 | expected_html5_result = '''

Basic tests

107 | 116 |
small example
117 | 
118 | 133 | ''' 134 | self.maxDiff = None 135 | pypandoc_result = pypandoc.convert_text(org_example, 'html5', format='org') 136 | 137 | self.assertEqual( 138 | Utils.normalize_lineendings(pypandoc_result), 139 | Utils.normalize_lineendings(expected_html5_result)) 140 | 141 | 142 | # Local Variables: 143 | # mode: flyspell 144 | # eval: (ispell-change-dictionary "en_US") 145 | # End: 146 | -------------------------------------------------------------------------------- /lib/tests/pypandoc_test.sh: -------------------------------------------------------------------------------- 1 | cd ../../ ; PYTHONPATH=~/src/lazyblorg python3 -m pytest lib/tests/pypandoc_test.py 2 | -------------------------------------------------------------------------------- /lib/tests/simple.org: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | * Heading of no interest 4 | 5 | 6 | * Heading of no interest 7 | :PROPERTIES: 8 | :CREATED: [2013-02-12 Tue 10:58] 9 | :END: 10 | 11 | ** Not interesting either 12 | :PROPERTIES: 13 | :CREATED: [2013-02-12 Tue 10:58] 14 | :END: 15 | 16 | foo bar :blog: 17 | ... should not be interpreted as a blog entry! 18 | 19 | * Heading of some interest 20 | :PROPERTIES: 21 | :CREATED: [2013-02-12 Tue 10:58] 22 | :END: 23 | 24 | ** DONE This is an example blog entry :blog:mytest:programming: 25 | CLOSED: [2013-02-14 Thu 19:02] 26 | :LOGBOOK: 27 | - State "DONE" from "" [2013-02-14 Thu 19:02] 28 | :END: 29 | :PROPERTIES: 30 | :CREATED: [2013-02-12 Tue 10:58] 31 | :ID: 2013-02-12-lazyblorg-example-entry 32 | :END: 33 | 34 | This is an introduction text which describes the blog entry with some 35 | catchy information. Readers should be convinced to read this 36 | interesting text. [[https://github.com/novoid/Memacs][Memacs]] is an external link to Memacs. 37 | 38 | *** Sub-heading foo 39 | :PROPERTIES: 40 | :CREATED: [2013-02-12 Tue 11:00] 41 | :END: 42 | 43 | This is a dummy text whose only purpose is to generate some content 44 | which is then processed by this lovely tool. The resulting web blog 45 | might win the Pulitzer Prize some day! 46 | 47 | - this list 48 | - gives a great overview 49 | - about something 50 | 51 | internal link: [[id:2013-02-12-lazyblorg-example-entry]] 52 | 53 | internal link with link description: [[id:2013-02-12-lazyblorg-example-entry][this is the description with *bold* as well]] 54 | 55 | **** Sub-sub heading about something 56 | :PROPERTIES: 57 | :CREATED: [2013-02-12 Tue 11:01] 58 | :END: 59 | 60 | This is a dummy text whose only purpose is to generate some content 61 | which is then processed by this lovely tool. The resulting web blog 62 | might win the Pulitzer Prize some day! 63 | 64 | #+BEGIN_VERSE 65 | Well, in here, I want to write verbatim text. 66 | Line breaks should be exactly the same. 67 | 68 | This is a 69 | dummy text whose only purpose is to generate 70 | some content 71 | which is then processed by this lovely tool. 72 | The resulting web blog 73 | might win the Pulitzer Prize some day! 74 | 75 | #+END_VERSE 76 | 77 | **** Sub-sub heading with tables and stuff 78 | :PROPERTIES: 79 | :CREATED: [2015-05-14 Thu 20:11] 80 | :END: 81 | 82 | | Table header | foo | Bar | 83 | |---------------+-----+-----| 84 | | Table content | baz | 42 | 85 | 86 | #+NAME: Example-table-name 87 | | Table | with | name | 88 | 89 | | Table | with | formula | 90 | | 42 | 23 | 65 | 91 | #+TBLFM: @2$3=$1+$2 92 | 93 | #+NAME: Example-table-name-including-formula 94 | | Table | with | formula | and name | 95 | |-------+------+---------+----------| 96 | | 42 | 23 | | 65 | 97 | #+TBLFM: @2$4=$1+$2 98 | 99 | *** Sub-heading bar 100 | :PROPERTIES: 101 | :CREATED: [2013-02-12 Tue 11:00] 102 | :END: 103 | 104 | This is a dummy text whose only purpose is to generate some content 105 | which is then processed by this lovely tool. The resulting web blog 106 | might win the Pulitzer Prize some day! 107 | 108 | ** Not a blog entry 109 | :PROPERTIES: 110 | :CREATED: [2013-02-12 Tue 11:00] 111 | :END: 112 | 113 | ** DONE no blog tag 114 | CLOSED: [2013-08-24 Sat 22:50] 115 | :LOGBOOK: 116 | - State "DONE" from "" [2013-08-24 Sat 22:50] 117 | :END: 118 | :PROPERTIES: 119 | :CREATED: [2013-08-24 Sat 22:50] 120 | :ID: no-blog-tag 121 | :END: 122 | 123 | This lacks only the blog tag 124 | 125 | ** DONE This is an persistent blog article :programming:mytest:lb_persistent:blog: 126 | CLOSED: [2014-03-08 Sat 19:32] 127 | :LOGBOOK: 128 | - State "DONE" from "NEXT" [2014-03-08 Sat 19:32] 129 | :END: 130 | :PROPERTIES: 131 | :CREATED: [2014-03-08 Sat 19:30] 132 | :ID: peristent-example-entry 133 | :END: 134 | 135 | This blog article is not a temporal nor a tag entry - it's a 136 | persistent blog page. 137 | 138 | You should expect me to be updated occasionally. 139 | 140 | ** DONE programming :lb_tags:blog: 141 | CLOSED: [2014-03-08 Sat 19:35] 142 | :LOGBOOK: 143 | - State "DONE" from "NEXT" [2014-03-08 Sat 19:35] 144 | :END: 145 | :PROPERTIES: 146 | :CREATED: [2014-03-08 Sat 19:33] 147 | :ID: 2014-03-08-lbtag-programming 148 | :END: 149 | 150 | Here, you can read about the test-tag "programming". 151 | 152 | * End heading 153 | :PROPERTIES: 154 | :CREATED: [2013-02-12 Tue 11:00] 155 | :END: 156 | -------------------------------------------------------------------------------- /lib/tests/simple_org_-_reference.pk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/lib/tests/simple_org_-_reference.pk -------------------------------------------------------------------------------- /lib/tests/utils_test.sh: -------------------------------------------------------------------------------- 1 | cd ../../ ; PYTHONPATH=~/src/lazyblorg python3 -m pytest lib/tests/utils_test.py 2 | -------------------------------------------------------------------------------- /preview_blogentry.sh: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | 3 | warn_and_exit() 4 | { 5 | cat <=2019.11.6.1 2 | opencv-python 3 | werkzeug>=1.0.1 4 | pypandoc 5 | -------------------------------------------------------------------------------- /start_all_tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | ## this script calls each unit test script 4 | ## if no error is found, the final success statement is shown 5 | ## if error occurs, this script stops at the error 6 | 7 | ./start_unit_tests.sh 8 | ./start_end-to-end-test.sh 9 | echo "\n\n All tests ended successfully! :-)\n\n" 10 | 11 | #end 12 | -------------------------------------------------------------------------------- /start_end-to-end-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | ## this script calls each unit test script 4 | ## if no error is found, the final success statement is shown 5 | ## if error occurs, this script stops at the error 6 | 7 | ## activate Python3 virtualenv: 8 | test ! -d venv || . ./venv/bin/activate 9 | 10 | end_to_end_test() 11 | { 12 | 13 | ## End-to-end test with multiple Org-mode files resulting 14 | ## in several different blog files with all kinds of tests: 15 | 16 | echo "\n====> Runing end-to-end test ...\n" 17 | 18 | cd ~/src/lazyblorg 19 | rm -rf testdata/end_to_end_test/result 20 | mkdir -p testdata/end_to_end_test/result 21 | 22 | PYTHONPATH="~/src/lazyblorg:" ./lazyblorg.py \ 23 | --targetdir testdata/end_to_end_test/result \ 24 | --autotag-language \ 25 | --previous-metadata testdata/end_to_end_test/lazyblorg-e2e-test-previous-metadata.pk \ 26 | --new-metadata testdata/end_to_end_test/lazyblorg-e2e-test-new-metadata.pk \ 27 | --logfile testdata/end_to_end_test/lazyblorg-e2e-test-logfile.org \ 28 | --orgfiles templates/blog-format.org \ 29 | testdata/end_to_end_test/orgfiles/*.org $@ && \ 30 | echo "\n====> Comparing result of end-to-end test ...\n" && \ 31 | if [ `diff -ar testdata/end_to_end_test/result testdata/end_to_end_test/comparison | egrep -vi '(published|updated)' | wc -l` -gt 15 ]; then 32 | diff -ar testdata/end_to_end_test/result testdata/end_to_end_test/comparison | grep -v '' 33 | echo "End-to-end test FAILED! Check result!" 34 | exit 1 35 | else 36 | ## a couple of difference are OK since there are new time-stamps for generation time 37 | echo "End-to-end test: success." 38 | fi 39 | 40 | } 41 | 42 | end_to_end_test "$@" && \ 43 | echo "\n\n End-to-end tests ended successfully! :-)\n\n" 44 | 45 | #end 46 | -------------------------------------------------------------------------------- /start_unit_tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | ## this script calls each unit test script 4 | ## if no error is found, the final success statement is shown 5 | ## if error occurs, this script stops at the error 6 | 7 | ## activate Python3 virtualenv: 8 | test ! -d venv || . ./venv/bin/activate 9 | 10 | ( 11 | set -e 12 | cd lib/tests 13 | ./orgparser_test.sh 14 | ./utils_test.sh 15 | ./htmlizer_test.sh 16 | ./pypandoc_test.sh 17 | cd ../../tests 18 | ./lazyblorg_test.sh 19 | ) 20 | echo "\n All Python unit tests ended successfully :-)\n" 21 | 22 | #end 23 | -------------------------------------------------------------------------------- /testdata/basic_blog_update_test/basic_blog_update_test_-_first_run.org: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | * Test Cases 4 | 5 | ** Case2: no ID found :blog: 6 | :PROPERTIES: 7 | :CREATED: [2013-08-24 Sat 22:41] 8 | :noID: case2 9 | :END: 10 | 11 | no ID found -> is not possible here any more since metadata 12 | (dict) contains only entries with IDs -> should be done in parser: 13 | WARN, ignore 14 | 15 | ** Case3: CREATED not found :blog: 16 | :PROPERTIES: 17 | :CREATED: [2013-08-24 Sat 22:41] 18 | :ID: case3 19 | :END: 20 | 21 | CREATED not found -> WARN, ignore 22 | 23 | ** DONE Case4: CREATED found but differs from previous run :blog: 24 | CLOSED: [2013-08-24 Sat 22:49] 25 | :LOGBOOK: 26 | - State "DONE" from "" [2013-08-24 Sat 22:49] 27 | :END: 28 | :PROPERTIES: 29 | :CREATED: [2013-08-24 Sat 22:42] 30 | :ID: case4 31 | :END: 32 | 33 | CREATED found but differs from previous run (should not change) 34 | -> WARN, ignore 35 | 36 | ** DONE Case5: not changed since 1st generation :blog: 37 | CLOSED: [2013-08-24 Sat 22:49] 38 | :LOGBOOK: 39 | - State "DONE" from "" [2013-08-24 Sat 22:49] 40 | :END: 41 | :PROPERTIES: 42 | :CREATED: [2013-08-24 Sat 22:42] 43 | :ID: case5 44 | :END: 45 | 46 | known and matching previous run: ID, CREATED, checksum; 47 | differs: timestamp 48 | -> generate 49 | 50 | ** DONE Case6: not changed since last update :blog: 51 | CLOSED: [2013-08-24 Sat 22:49] 52 | :LOGBOOK: 53 | - State "DONE" from "" [2013-08-24 Sat 22:49] 54 | :END: 55 | :PROPERTIES: 56 | :CREATED: [2013-08-24 Sat 22:43] 57 | :ID: case6 58 | :END: 59 | 60 | known and matching previous run: ID, CREATED, checksum, timestamp 61 | -> generate 62 | 63 | ** DONE Case7: Silent update :blog: 64 | CLOSED: [2013-08-24 Sat 22:49] 65 | :LOGBOOK: 66 | - State "DONE" from "" [2013-08-24 Sat 22:49] 67 | :END: 68 | :PROPERTIES: 69 | :CREATED: [2013-08-24 Sat 22:43] 70 | :ID: case7 71 | :END: 72 | 73 | known and matching: ID, CREATED, last timestamp; differs: 74 | checksum -> silent update -> generate 75 | 76 | ** DONE Case8: normal update :blog: 77 | CLOSED: [2013-08-24 Sat 22:49] 78 | :LOGBOOK: 79 | - State "DONE" from "" [2013-08-24 Sat 22:49] 80 | :END: 81 | :PROPERTIES: 82 | :CREATED: [2013-08-24 Sat 22:44] 83 | :ID: case8 84 | :END: 85 | 86 | known and matching: ID, CREATED; differs: checksum, last 87 | timestamp -> normal update -> generate, mark_for_feed, 88 | increment_version 89 | 90 | ** DONE no blog tag 91 | CLOSED: [2013-08-24 Sat 22:50] 92 | :LOGBOOK: 93 | - State "DONE" from "" [2013-08-24 Sat 22:50] 94 | :END: 95 | :PROPERTIES: 96 | :CREATED: [2013-08-24 Sat 22:50] 97 | :ID: no-blog-tag 98 | :END: 99 | 100 | This lacks the blog tag 101 | 102 | ** No DONE state :blog: 103 | :PROPERTIES: 104 | :CREATED: [2013-08-24 Sat 22:50] 105 | :ID: no-done-state 106 | :END: 107 | :LOGBOOK: 108 | - State "DONE" from "" [2013-08-24 Sat 22:50] 109 | :END: 110 | 111 | This does not have a DONE state. 112 | 113 | ** DONE No logbook drawer :blog: 114 | CLOSED: [2013-08-24 Sat 22:51] 115 | :PROPERTIES: 116 | :CREATED: [2013-08-24 Sat 22:51] 117 | :END: 118 | 119 | this entry has no logbook drawer. 120 | 121 | * End of Org-mode file 122 | :PROPERTIES: 123 | :CREATED: [2013-02-12 Tue 11:00] 124 | :END: 125 | -------------------------------------------------------------------------------- /testdata/basic_blog_update_test/basic_blog_update_test_-_second_run.org: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | * Test Cases 4 | 5 | ** DONE Case1: new article :blog: 6 | CLOSED: [2013-08-24 Sat 22:54] 7 | :LOGBOOK: 8 | - State "DONE" from "" [2013-08-24 Sat 22:54] 9 | :END: 10 | :PROPERTIES: 11 | :CREATED: [2013-08-24 Sat 22:39] 12 | :ID: case1 13 | :END: 14 | 15 | Case1: new ID found -> generate, mark_for_feed 16 | 17 | ** DONE Case2: no ID found :blog: 18 | CLOSED: [2013-08-24 Sat 22:54] 19 | :LOGBOOK: 20 | - State "DONE" from "" [2013-08-24 Sat 22:54] 21 | :END: 22 | :PROPERTIES: 23 | :CREATED: [2013-08-24 Sat 22:41] 24 | :noID: case2 25 | :END: 26 | 27 | no ID found -> is not possible here any more since metadata 28 | (dict) contains only entries with IDs -> should be done in parser: 29 | WARN, ignore 30 | 31 | ** DONE Case3: CREATED not found :blog: 32 | CLOSED: [2013-08-24 Sat 22:54] 33 | :LOGBOOK: 34 | - State "DONE" from "" [2013-08-24 Sat 22:54] 35 | :END: 36 | :PROPERTIES: 37 | :ID: case3 38 | :END: 39 | 40 | CREATED not found -> WARN, ignore 41 | 42 | ** DONE Case4: CREATED found but differs from previous run :blog: 43 | CLOSED: [2013-08-24 Sat 22:49] 44 | :LOGBOOK: 45 | - State "DONE" from "" [2013-08-24 Sat 22:49] 46 | :END: 47 | :PROPERTIES: 48 | :CREATED: [2013-08-24 Sat 23:12] 49 | :ID: case4 50 | :END: 51 | 52 | CREATED found but differs from previous run (should not change) 53 | -> WARN, ignore 54 | 55 | ** DONE Case5: not changed since 1st generation :blog: 56 | CLOSED: [2013-08-24 Sat 22:49] 57 | :LOGBOOK: 58 | - State "DONE" from "DONE" [2013-08-24 Sat 22:55] 59 | - State "DONE" from "" [2013-08-24 Sat 22:49] 60 | :END: 61 | :PROPERTIES: 62 | :CREATED: [2013-08-24 Sat 22:42] 63 | :ID: case5 64 | :END: 65 | 66 | known and matching previous run: ID, CREATED, checksum; 67 | differs: timestamp 68 | -> generate 69 | 70 | ** DONE Case6: not changed since last update :blog: 71 | CLOSED: [2013-08-24 Sat 22:49] 72 | :LOGBOOK: 73 | - State "DONE" from "" [2013-08-24 Sat 22:49] 74 | :END: 75 | :PROPERTIES: 76 | :CREATED: [2013-08-24 Sat 22:43] 77 | :ID: case6 78 | :END: 79 | 80 | known and matching previous run: ID, CREATED, checksum, timestamp 81 | -> generate 82 | 83 | ** DONE Case7: Silent update :blog: 84 | CLOSED: [2013-08-24 Sat 22:49] 85 | :LOGBOOK: 86 | - State "DONE" from "" [2013-08-24 Sat 22:49] 87 | :END: 88 | :PROPERTIES: 89 | :CREATED: [2013-08-24 Sat 22:43] 90 | :ID: case7 91 | :END: 92 | 93 | known and matching: ID, CREATED, last timestamp; differs: 94 | checksum -> silent update -> generate 95 | 96 | This is additional text added before second run. 97 | 98 | ** DONE Case8: normal update :blog: 99 | CLOSED: [2013-08-24 Sat 22:49] 100 | :LOGBOOK: 101 | - State "DONE" from "DONE" [2013-08-24 Sat 22:56] 102 | - State "DONE" from "" [2013-08-24 Sat 22:49] 103 | :END: 104 | :PROPERTIES: 105 | :CREATED: [2013-08-24 Sat 22:44] 106 | :ID: case8 107 | :END: 108 | 109 | known and matching: ID, CREATED; differs: checksum, last 110 | timestamp -> normal update -> generate, mark_for_feed, 111 | increment_version 112 | 113 | This is additional text added before second run. 114 | 115 | ** DONE no blog tag 116 | CLOSED: [2013-08-24 Sat 22:50] 117 | :LOGBOOK: 118 | - State "DONE" from "" [2013-08-24 Sat 22:50] 119 | :END: 120 | :PROPERTIES: 121 | :CREATED: [2013-08-24 Sat 22:50] 122 | :ID: no-blog-tag 123 | :END: 124 | 125 | This lacks the blog tag 126 | 127 | ** No DONE state :blog: 128 | :PROPERTIES: 129 | :CREATED: [2013-08-24 Sat 22:50] 130 | :ID: no-done-state 131 | :END: 132 | :LOGBOOK: 133 | - State "DONE" from "" [2013-08-24 Sat 22:50] 134 | :END: 135 | 136 | This does not have a DONE state. 137 | 138 | ** DONE No logbook drawer :blog: 139 | CLOSED: [2013-08-24 Sat 22:51] 140 | :PROPERTIES: 141 | :CREATED: [2013-08-24 Sat 22:51] 142 | :END: 143 | 144 | this entry has no logbook drawer. 145 | 146 | * End of Org-mode file 147 | :PROPERTIES: 148 | :CREATED: [2013-02-12 Tue 11:00] 149 | :END: 150 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry1 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry1

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry1/source.org.txt: -------------------------------------------------------------------------------- 1 | ** DONE old blog entry1 :blog: 2 | CLOSED: [2016-11-27 Sun 15:01] 3 | :PROPERTIES: 4 | :ID: 1985-01-01-old-entry1 5 | :CREATED: [1985-01-01 Tue 15:01] 6 | :END: 7 | :LOGBOOK: 8 | - State "DONE" from [1985-01-01 Tue 15:01] 9 | :END: 10 | 11 | Test entry. 12 | 13 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry10/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry10 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry10

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry10/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:10] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry10 4 | :CREATED: [1985-01-01 Tue 15:10] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:10] 8 | :END: 9 | 10 | Test entry. 11 | 12 | 13 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry11/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry11 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry11

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry11/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:11] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry11 4 | :CREATED: [1985-01-01 Tue 15:11] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:11] 8 | :END: 9 | 10 | Test entry. 11 | 12 | 13 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry12/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry12 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry12

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry12/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:12] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry12 4 | :CREATED: [1985-01-01 Tue 15:12] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:12] 8 | :END: 9 | 10 | Test entry. 11 | 12 | 13 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry13/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry13 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry13

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry13/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:13] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry13 4 | :CREATED: [1985-01-01 Tue 15:13] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:13] 8 | :END: 9 | 10 | Test entry. 11 | 12 | 13 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry14/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry14 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry14

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry14/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:15] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry14 4 | :CREATED: [1985-01-01 Tue 15:14] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:14] 8 | :END: 9 | 10 | Test entry. 11 | 12 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry2 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry2

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry2/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:02] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry2 4 | :CREATED: [1985-01-01 Tue 15:02] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:02] 8 | :END: 9 | 10 | Test entry. 11 | 12 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry3/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry3 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry3

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry3/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:03] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry3 4 | :CREATED: [1985-01-01 Tue 15:03] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:03] 8 | :END: 9 | 10 | Test entry. 11 | 12 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry4/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry4 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry4

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry4/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:04] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry4 4 | :CREATED: [1985-01-01 Tue 15:04] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:04] 8 | :END: 9 | 10 | Test entry. 11 | 12 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry5/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry5 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry5

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry5/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:05] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry5 4 | :CREATED: [1985-01-01 Tue 15:05] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:05] 8 | :END: 9 | 10 | Test entry. 11 | 12 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry6/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry6 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry6

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry6/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2016-11-27 Sun 15:06] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry6 4 | :CREATED: [1985-01-01 Tue 15:06] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:06] 8 | :END: 9 | 10 | Test entry. 11 | 12 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry7/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry7 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry7

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry7/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:07] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry7 4 | :CREATED: [1985-01-01 Tue 15:07] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:07] 8 | :END: 9 | 10 | Test entry. 11 | 12 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry8/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry8 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry8

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry8/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:08] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry8 4 | :CREATED: [1985-01-01 Tue 15:08] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:08] 8 | :END: 9 | 10 | Test entry. 11 | 12 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry9/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | old blog entry9 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

old blog entry9

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Test entry. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/1985/01/01/old-entry9/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [1985-01-01 Tue 15:09] 2 | :PROPERTIES: 3 | :ID: 1985-01-01-old-entry9 4 | :CREATED: [1985-01-01 Tue 15:09] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [1985-01-01 Tue 15:09] 8 | :END: 9 | 10 | Test entry. 11 | 12 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2013/02/14/lazyblorg-example-entry/source.org.txt: -------------------------------------------------------------------------------- 1 | ** DONE This is an example blog entry :blog:mytest:programming: 2 | CLOSED: [2013-02-14 Thu 19:02] 3 | :LOGBOOK: 4 | - State "DONE" from "" [2013-02-14 Thu 19:02] 5 | :END: 6 | :PROPERTIES: 7 | :CREATED: [2013-02-12 Tue 10:58] 8 | :ID: 2013-02-12-lazyblorg-example-entry 9 | :END: 10 | 11 | This is an introduction text which describes the blog entry with some 12 | catchy information. Readers should be convinced to read this 13 | interesting text. [[https://github.com/novoid/Memacs][Memacs]] is an external link to Memacs. 14 | 15 | *** Sub-heading foo 16 | :PROPERTIES: 17 | :END: 18 | 19 | This is a dummy text whose only purpose is to generate some content 20 | which is then processed by this lovely tool. The resulting web blog 21 | might win the Pulitzer Prize some day! 22 | 23 | - this list 24 | - gives a great overview 25 | - about something 26 | 27 | **** Sub-sub heading about something 28 | :PROPERTIES: 29 | :END: 30 | 31 | This is a dummy text whose only purpose is to generate some content 32 | which is then processed by this lovely tool. The resulting web blog 33 | might win the Pulitzer Prize some day! 34 | 35 | #+BEGIN_VERSE 36 | Well, in here, I want to write verbatim text. 37 | Line breaks should be exactly the same. 38 | 39 | This is a 40 | dummy text whose only purpose is to generate 41 | some content 42 | which is then processed by this lovely tool. 43 | The resulting web blog 44 | might win the Pulitzer Prize some day! 45 | 46 | #+END_VERSE 47 | 48 | *** Sub-heading HTML block 49 | :PROPERTIES: 50 | :END: 51 | 52 | Here comes some HTML: 53 | 54 | #+NAME: my-HTML-example name 55 | #+BEGIN_HTML 56 | foo 57 | bar 58 | 59 | baz 60 | #+END_HTML 61 | 62 | *** heading with lists 63 | :PROPERTIES: 64 | :END: 65 | 66 | - this is a list 67 | - second line 68 | - third line 69 | - last line 70 | 71 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2013/08/22/testid/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | Mini blog entry 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 54 | 59 | 60 |

Mini blog entry

61 | 62 | 65 | 66 |
67 | 68 | 69 | Show Sidebar 70 | 99 | 100 | 101 |
102 | 103 |

104 | 105 | Just for testing. 106 | 107 |

108 | 109 | 110 |
111 | 114 | 115 | 118 | 119 |
120 |
121 | 122 | 123 | 136 |
137 | 138 | 139 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2013/08/22/testid/source.org.txt: -------------------------------------------------------------------------------- 1 | * DONE Mini blog entry :blog: 2 | CLOSED: [2013-08-22 Thu 21:06] 3 | :LOGBOOK: 4 | - State "DONE" from "" [2013-08-22 Thu 21:06] 5 | :END: 6 | :PROPERTIES: 7 | :CREATED: [2013-08-22 Thu 21:06] 8 | :ID: 2013-08-22-testid 9 | :END: 10 | 11 | Just for testing. 12 | 13 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 100.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 300.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 300.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2019-07-26T11.44.35 Shinjuku - Skyline -- specialP publicvoit - scaled width 200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2019-07-26T11.44.35 Shinjuku - Skyline -- specialP publicvoit - scaled width 200.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2019-07-26T11.44.35 Shinjuku - Skyline -- specialP publicvoit - scaled width 750.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2019-07-26T11.44.35 Shinjuku - Skyline -- specialP publicvoit - scaled width 750.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2019-07-29T19.57.10 This is my Life -- sign specialL cliparts publicvoit - scaled width 350.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2019-07-29T19.57.10 This is my Life -- sign specialL cliparts publicvoit - scaled width 350.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2019-07-29T19.57.10 This is my Life -- sign specialL cliparts publicvoit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2014/01/30/full-syntax-test/2019-07-29T19.57.10 This is my Life -- sign specialL cliparts publicvoit.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/09/18/from-nothing-to-done/source.org.txt: -------------------------------------------------------------------------------- 1 | ** DONE from nothing to DONE :blog:testtag1: 2 | CLOSED: [2016-09-18 Sun 13:19] 3 | :PROPERTIES: 4 | :ID: 2016-09-18-from-nothing-to-done 5 | :CREATED: [2016-09-18 Sun 13:19] 6 | :END: 7 | :LOGBOOK: 8 | - State "DONE" from [2016-09-18 Sun 13:19] 9 | :END: 10 | 11 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/10/31/an-hidden-blog-entry/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2016-10-31 Mon 16:41] 2 | :PROPERTIES: 3 | :ID: 2016-10-31-an-hidden-blog-entry 4 | :CREATED: [2016-10-31 Mon 16:40] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from "NEXT" [2016-10-31 Mon 16:41] 8 | :END: 9 | 10 | [[id:2016-10-31-my-temporal-article][Link to temporal article]] 11 | 12 | Lorem ipsum dolor sit amet, malorum scaevola ut ius, ridens admodum adipisci eam ad. Eu quo ignota appareat, an primis expetendis eum, atqui labitur ceteros quo ad. Id zril partiendo cotidieque nam, nemore legimus has ad. Nec cu regione sensibus volutpat. 13 | 14 | Novum possit temporibus his in. Eam ut scripserit reformidans conclusionemque. Odio disputando ei his, ei est mutat mediocritatem. Harum verterem ex mea, sed saepe viderer scribentur ex. Pri te dictas eligendi praesent. 15 | 16 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/10/31/my-temporal-article/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2016-10-31 Mon 16:40] 2 | :PROPERTIES: 3 | :ID: 2016-10-31-my-temporal-article 4 | :CREATED: [2016-10-31 Mon 16:39] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from "NEXT" [2016-10-31 Mon 16:40] 8 | :END: 9 | 10 | [[id:2016-10-31-an-hidden-blog-entry][Link to a hidden entry]] 11 | 12 | [[id:2016-10-31-persistent-entry][Link to persistent article]] 13 | 14 | [[id:2016-10-31-a-tag-page][Link to tag page]] 15 | 16 | Lorem ipsum dolor sit amet, malorum scaevola ut ius, ridens admodum adipisci eam ad. Eu quo ignota appareat, an primis expetendis eum, atqui labitur ceteros quo ad. Id zril partiendo cotidieque nam, nemore legimus has ad. Nec cu regione sensibus volutpat. 17 | 18 | Novum possit temporibus his in. Eam ut scripserit reformidans conclusionemque. Odio disputando ei his, ei est mutat mediocritatem. Harum verterem ex mea, sed saepe viderer scribentur ex. Pri te dictas eligendi praesent. 19 | 20 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/11/06/sanitization-examples/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2016-11-06 Sun 17:40] 2 | :PROPERTIES: 3 | :ID: 2016-11-06-sanitization-examples 4 | :CREATED: [2016-11-06 Sun 17:38] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from "NEXT" [2016-11-06 Sun 17:40] 8 | :END: 9 | 10 | #+BEGIN_EXAMPLE 11 | This ought to be escaped & >printed< well. 12 | #+END_EXAMPLE 13 | 14 | ----------------- 15 | 16 | [[https://github.com/novoid/lazyblorg/issues/6][Issue number 19]] deals with sanitizing of < and > within blocks. 17 | 18 | #+BEGIN_EXAMPLE 19 | This is example block. 20 | #+END_EXAMPLE 21 | 22 | #+BEGIN_SRC sh 23 | Maybe is not sanitized? 24 | #+END_SRC 25 | 26 | #+BEGIN_VERSE 27 | Maybe is not sanitized? 28 | #+END_VERSE 29 | 30 | #+BEGIN_QUOTE 31 | Maybe is not sanitized? 32 | #+END_QUOTE 33 | 34 | #+BEGIN_CENTER 35 | Maybe is not sanitized? 36 | #+END_CENTER 37 | 38 | #+BEGIN_EXPORT html 39 | Maybe should not be sanitized? 40 | #+END_EXPORT 41 | 42 | ----------------- 43 | 44 | - Entry ending with a list which causes [[https://github.com/novoid/lazyblorg/issues/4][issue number 4]] 45 | - Another list item 46 | 47 | ----------- 48 | 49 | 1. Using an enumerated list 50 | 2. Ending this article ~that~ way! 51 | 52 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/11/16/empty-language-autotag-page/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2016-11-16 Wed 21:39] 2 | :PROPERTIES: 3 | :ID: empty-language-autotag-page 4 | :CREATED: [2016-11-16 Wed 21:33] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from "NEXT" [2016-11-16 Wed 21:39] 8 | :END: 9 | 10 | ** English 11 | 12 | This is a placeholder blog article which is used for autotag pages. 13 | 14 | As long as lazyblorg does not support tag pages for autotags, every 15 | autotag links to here. 16 | 17 | Autotags are tags like 'language:english' or 'size:small' and so on. 18 | 19 | ** Deutsch 20 | 21 | Das ist eine Platzhalterseite, die als Sprungziel verwendet wird, bis 22 | lazyblorg auch tag pages für autotags unterstützt. 23 | 24 | Autotags sind tags wie beispielsweise 'language:english' oder 25 | 'size:small' und so weiter. 26 | 27 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/11/27/image-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 300.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2016/11/27/image-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 300.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/11/27/image-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 560.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2016/11/27/image-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit - scaled width 560.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/11/27/image-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/end_to_end_test/comparison/2016/11/27/image-test/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/11/27/image-test/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2016-11-27 Sun 15:01] 2 | :PROPERTIES: 3 | :ID: 2016-11-27-image-test 4 | :CREATED: [2016-11-27 Sun 15:00] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from "NEXT" [2016-11-27 Sun 15:01] 8 | :END: 9 | 10 | With caption, alt, centered and 560px width: 11 | 12 | #+CAPTION: This is my caption 13 | #+ATTR_HTML: :alt This is my alt text 14 | #+ATTR_HTML: :align center :width 560 15 | [[tsfile:2017-03-11T18.29.21%20Sterne%20im%20Baum%20--%20mytag%20publicvoit.jpg][2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg]] 16 | 17 | Without caption, alt, centered and 560px width: 18 | 19 | #+ATTR_HTML: :alt This is my alt text 20 | #+ATTR_HTML: :align center :width 560 21 | [[tsfile:2017-03-11T18.29.21%20Sterne%20im%20Baum%20--%20mytag%20publicvoit.jpg][2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg]] 22 | 23 | With caption, without alt, left aligned and 300px width: 24 | 25 | #+CAPTION: This is my caption 26 | #+ATTR_HTML: :align left :width 300 27 | [[tsfile:2017-03-11T18.29.21%20Sterne%20im%20Baum%20--%20mytag%20publicvoit.jpg][2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg]] 28 | 29 | With caption, alt, right alined and 300px width: 30 | 31 | #+CAPTION: This is my caption 32 | #+ATTR_HTML: :alt This is my alt text 33 | #+ATTR_HTML: :align right :width 300 34 | [[tsfile:2017-03-11T18.29.21%20Sterne%20im%20Baum%20--%20mytag%20publicvoit.jpg][2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg]] 35 | 36 | Without caption, without alt, centered and 300px width and 37 | linked-image-width set to "none": 38 | 39 | #+ATTR_HTML: :align center :width 560 :linked-image-width none 40 | [[tsfile:2017-03-11T18.29.21%20Sterne%20im%20Baum%20--%20mytag%20publicvoit.jpg][2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg]] 41 | 42 | Just the image without ATTR lines or caption: 43 | 44 | [[tsfile:2017-03-11T18.29.21%20Sterne%20im%20Baum%20--%20mytag%20publicvoit.jpg][2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg]] 45 | 46 | -------------------------- 47 | 48 | Linking a differently sized image: 49 | 50 | With caption, alt, right alined and 300px width, linked-image-width 51 | 560: 52 | 53 | #+CAPTION: This is my caption 54 | #+ATTR_HTML: :alt This is my alt text 55 | #+ATTR_HTML: :align right :width 300 :linked-image-width 560 56 | [[tsfile:2017-03-11T18.29.21%20Sterne%20im%20Baum%20--%20mytag%20publicvoit.jpg][2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg]] 57 | 58 | With caption, alt, right alined and 300px width, linked-image-width 59 | "original": 60 | 61 | #+CAPTION: This is my caption 62 | #+ATTR_HTML: :alt This is my alt text 63 | #+ATTR_HTML: :align right :width 300 :linked-image-width 560 64 | [[tsfile:2017-03-11T18.29.21%20Sterne%20im%20Baum%20--%20mytag%20publicvoit.jpg][2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg]] 65 | 66 | FIXXME: not tested so far: 67 | - :width and :linked-image-width with same integers 68 | - :width is original and :linked-image-width is original 69 | - float number for :width or :linked-image-width 70 | - zero or negative integers for :width or :linked-image-width 71 | 72 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2016/11/27/special-characters/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2016-11-27 Sun 15:00] 2 | :PROPERTIES: 3 | :ID: 2016-11-27-special-characters 4 | :CREATED: [2016-11-27 Sun 14:58] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from "NEXT" [2016-11-27 Sun 15:00] 8 | :END: 9 | 10 | This is a «test» with some Umlauts and special characters: ö߀x²y³¼½¾. 11 | 12 | Being curious how this is going to work out. 13 | 14 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2017/01/08/sanitizing-tests/source.org.txt: -------------------------------------------------------------------------------- 1 | ** DONE Sanitizing Elements :blog:lazyblorg: 2 | CLOSED: [2017-01-08 Sun 10:58] 3 | :PROPERTIES: 4 | :ID: 2017-01-08-sanitizing-tests 5 | :CREATED: [2017-01-08 Sun 10:55] 6 | :END: 7 | :LOGBOOK: 8 | - State "DONE" from "NEXT" [2017-01-08 Sun 10:58] 9 | :END: 10 | 11 | #+BEGIN_SRC elisp 12 | ;;some text 13 | (defun my-org-region-to-property (&optional property) 14 | "Copies the region as value to an Org-mode property" 15 | (interactive) 16 | ;; if no region is defined, do nothing 17 | (message "foobar") 18 | ) 19 | #+END_SRC 20 | 21 | A simple code block: 22 | 23 | : \** Cabaret `(my-capture-prompt "date of event" 'my-event-date)`: `(my-capture-prompt "artist" 'my-artist)` 24 | : SCHEDULED: <`(my-capture-prompt "date 1st email" 'my-email-date)`> 25 | 26 | A comment with a non-existent ID: 27 | 28 | : :PROPERTIES: 29 | : :ID: this-is-not-an-existent-id 30 | : :END: 31 | 32 | An example with a non-existent ID: 33 | 34 | #+BEGIN_EXAMPLE 35 | :PROPERTIES: 36 | :ID: this-is-not-an-existent-id 37 | :END: 38 | 39 | - [[id:2021-01-23-this-does-not-exist1][This does not exist 1]] 40 | #+END_EXAMPLE 41 | 42 | Example link that exists: [[id:2020-10-02-Heading-which-starts-with-a-list][existing link]] 43 | 44 | Example comment with non-existent ID and link: 45 | 46 | : *** Example heading 47 | : :PROPERTIES: 48 | : :ID: 2021-01-23-example-heading 49 | : :END: 50 | : 51 | : - Also: [[id:2021-01-23-this-does-not-exist2][this does not exist 2]] 52 | 53 | Test case for two ampersants in an URL, causing an issue in the feed: [[https://duckduckgo.com/?t=ffab&q=searchterm&ia=web][link description]] 54 | 55 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2017/09/30/link-test/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2017-09-30 Sat 17:05] 2 | :PROPERTIES: 3 | :CREATED: [2017-09-30 Sat 17:05] 4 | :ID: 2017-09-30-link-test 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from [2017-09-30 Sat 17:05] 8 | :END: 9 | 10 | This is a test article which tests its links to other (internal) blog entries. 11 | 12 | - This should work [[id:2016-10-31-persistent-entry][in lists]] as [[id:2016-11-27-special-characters][well]]. 13 | - This should work [[id:2016-10-31-persistent-entry]] and [[id:2016-11-27-special-characters]]. 14 | 15 | | also in | a [[id:2016-11-27-special-characters][table]] | with [[id:2016-11-27-special-characters][multiple cells containing links]] | 16 | | also | [[id:2016-11-27-special-characters]] | and [[id:2016-11-27-special-characters]] | 17 | 18 | #+BEGIN_QUOTE 19 | Here [[id:2016-10-31-a-tag-page][in a quote]] block. 20 | #+END_QUOTE 21 | 22 | Here is [[id:2017-09-30-link-test][a self-reference]] which should not result in a backlink to itself. 23 | 24 | *** Even [[id:2016-10-31-my-temporal-article][a heading should]] work 25 | :PROPERTIES: 26 | :END: 27 | 28 | What about [[id:2016-10-31-an-hidden-blog-entry][a hidden entry]]? 29 | 30 | *** Some test to get the reading time to exceed one minute 31 | :PROPERTIES: 32 | :END: 33 | 34 | The [[https://github.com/novoid/lazyblorg/issues/47][reading time estimation feature]] is a very nice touch for the 35 | reader in order to get a rough figure how many minutes it takes to 36 | read an article. 37 | 38 | This way, she is able to determine if it is worth the time or not. 39 | Having such an indicator is almost standard in nowaday's web culture. 40 | 41 | My assumption is, that the reader is able to read a certain amount of 42 | words per minute. The initial value was chosen with 250. So maybe this 43 | is not adequate - let's see. Furthermore, I had to derive a heuristic 44 | algorithm to filter out non-word noise of the original Org mode source 45 | file. Those filtered things might contain real word (false positives) 46 | and the rest could contain non-words (false negatives). On average, 47 | this should not be a big issue. At least, this is a better 48 | approximation than counting all characters and assuming an average 49 | word consisting of five characters as I've seen in another algorithm. 50 | First, I would have had issues with filtering non-word content. 51 | Secondly, different languages do have different average sizes of 52 | words. So let's hope this is a valueable contribution to lazyblorg. 53 | 54 | ------------ 55 | 56 | In order to get the reading length high, here is some further dummy 57 | text as well: 58 | 59 | Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non 60 | orci commodo lobortis. Proin neque massa, cursus ut, gravida ut, 61 | lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus. 62 | Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec at 63 | pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id enim. 64 | Phasellus neque orci, porta a, aliquet quis, semper a, massa. 65 | Phasellus purus. Pellentesque tristique imperdiet tortor. Nam euismod 66 | tellus id erat. 67 | 68 | Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non 69 | orci commodo lobortis. Proin neque massa, cursus ut, gravida ut, 70 | lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus. 71 | Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec at 72 | pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id enim. 73 | Phasellus neque orci, porta a, aliquet quis, semper a, massa. 74 | Phasellus purus. Pellentesque tristique imperdiet tortor. Nam euismod 75 | tellus id erat. 76 | 77 | Aliquam erat volutpat. Nunc eleifend leo vitae magna. In id erat non 78 | orci commodo lobortis. Proin neque massa, cursus ut, gravida ut, 79 | lobortis eget, lacus. Sed diam. Praesent fermentum tempor tellus. 80 | Nullam tempus. Mauris ac felis vel velit tristique imperdiet. Donec at 81 | pede. Etiam vel neque nec dui dignissim bibendum. Vivamus id enim. 82 | Phasellus neque orci, porta a, aliquet quis, semper a, massa. 83 | Phasellus purus. Pellentesque tristique imperdiet tortor. Nam euismod 84 | tellus id erat. 85 | 86 | *** An almost empty heading at the end 87 | :PROPERTIES: 88 | :END: 89 | 90 | This is to test the reading length estimation algorithm with a 91 | property drawer at the end. 92 | 93 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2020/10/02/Heading-which-starts-with-a-list/source.org.txt: -------------------------------------------------------------------------------- 1 | ** DONE Heading which starts with a list :blog: 2 | CLOSED: [2020-10-02 Fri 19:03] 3 | :PROPERTIES: 4 | :CREATED: [2020-10-02 Fri 19:02] 5 | :ID: 2020-10-02-Heading-which-starts-with-a-list 6 | :END: 7 | :LOGBOOK: 8 | - State "DONE" from [2020-10-02 Fri 19:03] 9 | :END: 10 | 11 | - this is a list with some text 12 | - another item in the list 13 | 14 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/2021/01/30/drawer-tests/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2021-01-30 Sat 23:32] 2 | :PROPERTIES: 3 | :ID: 2021-01-30-drawer-tests 4 | :CREATED: [2021-01-30 Sat 23:26] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from "NEXT" [2021-01-30 Sat 23:32] 8 | :END: 9 | 10 | ** RELATED drawer 11 | :PROPERTIES: 12 | :END: 13 | 14 | This is just a dummy text. 15 | 16 | # not working: link to [[id:2021-01-30-LINKS-drawer][LINKS drawer]] 17 | 18 | ** LINKS drawer 19 | :PROPERTIES: 20 | :END: 21 | 22 | Another dummy text. 23 | 24 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/about/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 13 | 15 | 17 | 18 | 19 | 20 | Placeholder: About 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 34 | 40 | 41 |

Placeholder: About

42 | 43 | 46 | 47 |
48 | 49 | 50 | Show Sidebar 51 | 80 | 81 | 82 |
83 | 84 |

85 | 86 | This is a placeholder entry in order to be able to test internal links. 87 | 88 |

89 | 90 |
91 | 94 | 95 | 98 | 99 |
100 |
101 | 102 | 103 | 116 |
117 | 118 | 119 | 133 | 134 | 135 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/about/source.org.txt: -------------------------------------------------------------------------------- 1 | * DONE Placeholder: About :blog:lazyblorg:lb_persistent: 2 | CLOSED: [2014-03-09 Sun 14:57] 3 | :PROPERTIES: 4 | :CREATED: [2017-01-03 Tue 12:07] 5 | :ID: 2014-03-09-about 6 | :END: 7 | :LOGBOOK: 8 | - State "DONE" from "NEXT" [2014-03-09 Sun 14:57] 9 | :END: 10 | 11 | This is a placeholder entry in order to be able to test internal links. 12 | 13 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/persistent-entry/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 13 | 15 | 17 | 18 | 19 | 20 | A Wonderful Persistent Blog Entry 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 34 | 42 | 43 |

A Wonderful Persistent Blog Entry

44 | 45 | 48 | 49 |
50 | 51 | 52 | Show Sidebar 53 | 82 | 83 | 84 |
85 | 86 |

87 | 88 | Lorem ipsum dolor sit amet, malorum scaevola ut ius, ridens admodum adipisci eam ad. Eu quo ignota appareat, an primis expetendis eum, atqui labitur ceteros quo ad. Id zril partiendo cotidieque nam, nemore legimus has ad. Nec cu regione sensibus volutpat. 89 | 90 |

91 | 92 |

93 | 94 | Novum possit temporibus his in. Eam ut scripserit reformidans conclusionemque. Odio disputando ei his, ei est mutat mediocritatem. Harum verterem ex mea, sed saepe viderer scribentur ex. Pri te dictas eligendi praesent. 95 | 96 |

97 | 98 |
99 | 100 |

Related articles that link to this one:

101 | 105 |
106 | 109 | 110 | 113 | 114 |
115 |
116 | 117 | 118 | 131 |
132 | 133 | 134 | 148 | 149 | 150 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/persistent-entry/source.org.txt: -------------------------------------------------------------------------------- 1 | CLOSED: [2016-10-31 Mon 16:39] 2 | :PROPERTIES: 3 | :ID: 2016-10-31-persistent-entry 4 | :CREATED: [2016-10-31 Mon 16:37] 5 | :END: 6 | :LOGBOOK: 7 | - State "DONE" from "NEXT" [2016-10-31 Mon 16:39] 8 | :END: 9 | 10 | Lorem ipsum dolor sit amet, malorum scaevola ut ius, ridens admodum adipisci eam ad. Eu quo ignota appareat, an primis expetendis eum, atqui labitur ceteros quo ad. Id zril partiendo cotidieque nam, nemore legimus has ad. Nec cu regione sensibus volutpat. 11 | 12 | Novum possit temporibus his in. Eam ut scripserit reformidans conclusionemque. Odio disputando ei his, ei est mutat mediocritatem. Harum verterem ex mea, sed saepe viderer scribentur ex. Pri te dictas eligendi praesent. 13 | 14 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/tags/exampletag/source.org.txt: -------------------------------------------------------------------------------- 1 | *** DONE exampletag :lb_tags:blog: 2 | CLOSED: [2016-10-31 Mon 16:38] 3 | :PROPERTIES: 4 | :ID: 2016-10-31-a-tag-page 5 | :CREATED: [2016-10-31 Mon 16:35] 6 | :END: 7 | :LOGBOOK: 8 | - State "DONE" from "NEXT" [2016-10-31 Mon 16:38] 9 | :END: 10 | 11 | This is a page whose content is getting transformed into a tag page. 12 | 13 | I am very curious how this is going to turn out. 14 | 15 | | *Return Code* | *Result* | 16 | |---------------+--------------------------------| 17 | | 0 | I am happy! | 18 | | 1 | Geez, what happened this time? | 19 | | -1 | Even more worrying | 20 | 21 | Below this, I expect some links to other pages related to the tag 22 | "exampletag": 23 | 24 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/tags/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 27 | 28 | 30 | 32 | 34 | 35 | 36 | 37 | Tags of public voit 38 | 39 | 40 | 41 |
42 | 43 | 48 | 49 |
50 | 51 | 52 | Show Sidebar 53 | 82 | 83 | 84 |
85 | 86 |

87 | 88 | Tag cloud of all tags except «hardware» and «software» which are my most general tags. 89 | The bigger the tag, the more articles are tagged with it. 90 | 91 | 92 |

93 | 94 | 106 | 107 |
108 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/tags/programming/source.org.txt: -------------------------------------------------------------------------------- 1 | ** DONE programming :lb_tags:blog: 2 | CLOSED: [2014-03-08 Sat 19:35] 3 | :PROPERTIES: 4 | :CREATED: [2016-10-31 Mon 13:30] 5 | :ID: 2014-03-08-lbtag-programming 6 | :END: 7 | :LOGBOOK: 8 | - State "DONE" from "NEXT" [2016-10-31 Mon 13:30] 9 | :END: 10 | 11 | Here, you can read about the test-tag "programming". 12 | 13 | [[id:2014-03-08-lbtag-programming][This link]] should be a self-reference. 14 | 15 | Glad you like it. 16 | 17 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/comparison/tags/testtag1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | The Tag «testtag1» 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 | 53 | 57 | 58 |

Tag Page for the Tag "testtag1"

59 | 60 | 61 | 62 |
63 | 64 | 65 | Show Sidebar 66 | 95 | 96 | 97 |
98 | 99 |
100 | 101 |

102 | All articles tagged with testtag1 (sorted by last update, oldest on top): 103 |

104 | 105 |

106 | 107 |

110 | 111 |

112 | 113 |
114 | 117 | 118 | 121 | 122 |
123 |
124 | 125 | 126 | 139 |
140 | 141 | 142 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/orgfiles/about-placeholder.org: -------------------------------------------------------------------------------- 1 | * DONE Placeholder: About :blog:lazyblorg:lb_persistent: 2 | CLOSED: [2014-03-09 Sun 14:57] 3 | :PROPERTIES: 4 | :CREATED: [2017-01-03 Tue 12:07] 5 | :ID: 2014-03-09-about 6 | :END: 7 | :LOGBOOK: 8 | - State "DONE" from "NEXT" [2014-03-09 Sun 14:57] 9 | :END: 10 | 11 | This is a placeholder entry in order to be able to test internal links. 12 | 13 | * DONE Placeholder: How to Use This Blog Efficiently :blog:lb_persistent: 14 | CLOSED: [2017-01-03 Tue 12:07] 15 | :PROPERTIES: 16 | :ID: 2017-01-03-how-to-use-this-blog 17 | :CREATED: [2017-01-03 Tue 12:07] 18 | :END: 19 | :LOGBOOK: 20 | - State "DONE" from [2017-01-03 Tue 12:07] 21 | :END: 22 | 23 | This is a placeholder entry in order to be able to test internal links. 24 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/orgfiles/test_case_from_nothing_to_DONE.org: -------------------------------------------------------------------------------- 1 | * MISC Test Case 2 | :PROPERTIES: 3 | :CREATED: [2016-09-18 Sun 13:18] 4 | :END: 5 | 6 | ** DONE from nothing to DONE :blog:testtag1: 7 | CLOSED: [2016-09-18 Sun 13:19] 8 | :PROPERTIES: 9 | :ID: 2016-09-18-from-nothing-to-done 10 | :CREATED: [2016-09-18 Sun 13:19] 11 | :END: 12 | :LOGBOOK: 13 | - State "DONE" from [2016-09-18 Sun 13:19] 14 | :END: 15 | 16 | This is an example blog entry with no special content. 17 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/orgfiles/test_case_heading_starts_with_list.org: -------------------------------------------------------------------------------- 1 | * Test Case for [[https://github.com/novoid/lazyblorg/issues/10][issue: Blog entries can not start with a list]] 2 | 3 | ** DONE Heading which starts with a list :blog: 4 | CLOSED: [2020-10-02 Fri 19:03] 5 | :PROPERTIES: 6 | :CREATED: [2020-10-02 Fri 19:02] 7 | :ID: 2020-10-02-Heading-which-starts-with-a-list 8 | :END: 9 | :LOGBOOK: 10 | - State "DONE" from [2020-10-02 Fri 19:03] 11 | :END: 12 | 13 | - this is a list with some text 14 | - another item in the list 15 | 16 | * Out of interest 17 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/orgfiles/test_case_sanitizing.org: -------------------------------------------------------------------------------- 1 | * Test Case for Sanitizing 2 | :PROPERTIES: 3 | :CREATED: [2016-10-31 Mon 13:30] 4 | :END: 5 | 6 | ** DONE Sanitizing Elements :blog:lazyblorg: 7 | CLOSED: [2017-01-08 Sun 10:58] 8 | :PROPERTIES: 9 | :ID: 2017-01-08-sanitizing-tests 10 | :CREATED: [2017-01-08 Sun 10:55] 11 | :END: 12 | :LOGBOOK: 13 | - State "DONE" from "NEXT" [2017-01-08 Sun 10:58] 14 | :END: 15 | 16 | #+BEGIN_SRC elisp 17 | ;;some text 18 | (defun my-org-region-to-property (&optional property) 19 | "Copies the region as value to an Org-mode property" 20 | (interactive) 21 | ;; if no region is defined, do nothing 22 | (message "foobar") 23 | ) 24 | #+END_SRC 25 | 26 | A simple code block: 27 | 28 | : \** Cabaret `(my-capture-prompt "date of event" 'my-event-date)`: `(my-capture-prompt "artist" 'my-artist)` 29 | : SCHEDULED: <`(my-capture-prompt "date 1st email" 'my-email-date)`> 30 | 31 | A comment with a non-existent ID: 32 | 33 | : :PROPERTIES: 34 | : :ID: this-is-not-an-existent-id 35 | : :END: 36 | 37 | An example with a non-existent ID: 38 | 39 | #+BEGIN_EXAMPLE 40 | :PROPERTIES: 41 | :ID: this-is-not-an-existent-id 42 | :END: 43 | 44 | - [[id:2021-01-23-this-does-not-exist1][This does not exist 1]] 45 | #+END_EXAMPLE 46 | 47 | Example link that exists: [[id:2020-10-02-Heading-which-starts-with-a-list][existing link]] 48 | 49 | Example comment with non-existent ID and link: 50 | 51 | : *** Example heading 52 | : :PROPERTIES: 53 | : :ID: 2021-01-23-example-heading 54 | : :END: 55 | : 56 | : - Also: [[id:2021-01-23-this-does-not-exist2][this does not exist 2]] 57 | 58 | Test case for two ampersants in an URL, causing an issue in the feed: [[https://duckduckgo.com/?t=ffab&q=searchterm&ia=web][link description]] 59 | 60 | * Out of interest 61 | -------------------------------------------------------------------------------- /testdata/end_to_end_test/orgfiles/test_case_with_tag_page.org: -------------------------------------------------------------------------------- 1 | * Test Case With a Tag Page 2 | :PROPERTIES: 3 | :CREATED: [2016-10-31 Mon 13:30] 4 | :END: 5 | 6 | ** DONE programming :lb_tags:blog: 7 | CLOSED: [2014-03-08 Sat 19:35] 8 | :PROPERTIES: 9 | :CREATED: [2016-10-31 Mon 13:30] 10 | :ID: 2014-03-08-lbtag-programming 11 | :END: 12 | :LOGBOOK: 13 | - State "DONE" from "NEXT" [2016-10-31 Mon 13:30] 14 | :END: 15 | 16 | Here, you can read about the test-tag "programming". 17 | 18 | [[id:2014-03-08-lbtag-programming][This link]] should be a self-reference. 19 | 20 | Glad you like it. 21 | 22 | * Out of interest 23 | -------------------------------------------------------------------------------- /testdata/testimages/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/testimages/2017-03-11T18.29.21 Sterne im Baum -- mytag publicvoit.jpg -------------------------------------------------------------------------------- /testdata/testimages/2019-07-26T11.44.35 Shinjuku - Skyline -- specialP publicvoit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/testimages/2019-07-26T11.44.35 Shinjuku - Skyline -- specialP publicvoit.jpg -------------------------------------------------------------------------------- /testdata/testimages/2019-07-29T19.57.10 This is my Life -- sign specialL cliparts publicvoit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/novoid/lazyblorg/d95e1cf260be24edaf75fdc767c254c84087856b/testdata/testimages/2019-07-29T19.57.10 This is my Life -- sign specialL cliparts publicvoit.jpg -------------------------------------------------------------------------------- /tests/lazyblorg_test.sh: -------------------------------------------------------------------------------- 1 | cd ../ ; PYTHONPATH=~/src/lazyblorg python3 -m pytest tests/lazyblorg_test.py 2 | --------------------------------------------------------------------------------