Markor v2.9 update is out! Get the update from F-Droid or GitHub! Continue reading to find out what’s new, improved and fixed in this update.

https://gsantner.net/blog/2022/05/14/markor-v2.9-snippets-zimwiki-math-daynight-privacy-markdown-todotxt.html?source=mastodon

Snippets, Templates, Graphs, Charts, Diagrams, YAML front-matter, Chemistry

#project #markor #android #todotxt #markdown #fdroid #texteditor #opensource #editor #offline #app #bookmarks #todo #tasks #viewer #reader #notes #gsantner #gregorsantner #austriansoftwaredeveloper #f-droid #blog #opensource

Markor v2.9 - Snippets, Templates, Graphs, Charts, Diagrams, YAML front-matter, Chemistry

Markor v2.9 update is out! Get the update from F-Droid or GitHub! Continue reading to find out what’s new, improved and fixed in this update. Highlights Install Markor / Update to latest version Availability You can install (& update) Markor from GitHub Releases and F-Droid. Google Play The 2.8.0 version remains available, but no updates will be deployed to Google Play. The available downloads on GitHub are signed by me (gsantner) and have the same signature like on Google Play. This means you can download the *.apk from GitHub and directly install the update if you currently use the Google Play version. Download the latest Markor update from GitHub here: Markor is also available from F-Droid, the store for free & open source apps. The *.apk’s available for download are signed by the F-Droid team and guaranteed to correspond to the (open source) source code of Markor. Generally this is the recommended way to install Markor & keep it updated. Admonition: block-styled side content The Admonition Extension allows for easy creation of beautiful colored boxes. Helpful when you often work with side notes and boxed content. Snippets / Custom templates Create as many custom snippets / templates you like by placing textfiles in the subdirectory .app/snippets of your Markor notebook (start) directory. Open a document and place the cursor on whatever position you want to insert text. Then click the new snippets button on the bottom-bar (see screenshot) and select the desired snippet. Note: The snippet directory is automatically created the first time you click the snippets button in the bottom-bar. The right place to ask If you have questions or found an issue please head to Markor GitHub Discussions and ask there. Search for same and related issues/questions before, it might be already answered or resolved. Every day I (gsantner) get many personal emails containing feature requests & questions about Markor. It takes much time to answer these things. Often it is already answered public - or to another person as response in private email. This means wasted time, which can’t be used for improving & developing Markor. You are kindly asked to discuss at the proper place, which is GitHub Discussions. Display YAML front-matter block contents Markor now parses the Markdown YAML front-matter and can display it’s contents in the view mode. The keys to display can be configured in the Markdown settings category. Increased performance & under the hood improvements Markor got lot’s of under the hood improvements in all areas - editor, filebrowser, syntax highlighting, textactions, widgets… Notable: Faster screen transitions, less/no white flashing Short-time filesystem metadata caching for quicker loading of folders at the filebrowser Charts / Graphs / Diagrams (mermaidjs) You can now create graphs using mermaidjs syntax in Markdown files. Checkout the mermaidjs live-editor for more & advanced examples. Other notable changes & additions Allow to install APK files from filebrowser on click Markdown Table of Contents options Zim: Follow links to other wiki pages todo.txt: Better browsing at editor with dialog & saved search queries Settings option to enable/disable Chrome Custom Tabs Privacy settings option to disallow screenshots of Markor Debloat & drop experimental/unused features, i.e. todo.txt huuid Support Android Day/Night theme system Filebrowser: Show full filename (multiline allowed instead of singleline only) View mode: Open links to folders in filebrowser Markdown: Better Math support, add mhchem chemistry module Per-file settings - In addition to the global settings, many options are now also configurable on a file basis Comments / Update disussion / feedback The discussion is here, feel free to join! All changes in this release Notice: Check the git history for most recent code changes. Add Markor blog posts markdown documents, by @gsantner Renumber list performance improvement, by @harshad1 (PR #1688) Fix: Template is not applied when creating new file, by @tifish (PR #1669) Enable filename text input filter at rename dialog, by @gsantner closes #1668 Cleaner widget logic, update widget on path change, by @harshad1 (PR #1660) Take picture: Change filename template to usual camera format, by @gsantner, #1655 Improve showing selection and related functions, by @harshad1 (PR #1658) Improvements to show selection after search / heading etc, by @harshad1, closes #1325 (PR #1653) Replace discussion reference from Matrix to GitHub discussions, by @gsantner Filebrowser: Fix copy/move getCurrentFolder() NullPointer, by @gsantner Fix ArrayIndexOutOfBounds at ShortcutUtils, by @gsantner Filemanager: disable search button at root directory, closes #1652, by @gsantner Base functionality to handle Toolbar (title) clicks & long-clicks, by @gsantner Simplify TextAction handling code, by @harshad1 (PR #1626) markdown: Fix rendered list indent with depth 3, closes #1643, by @fgtham (PR #1651) Don’t run auto-format immediately on document load, by @gsantner Fix version of AppIntro dependency, by @gsantner, closes #1632 Feature: Snippets, by @harshad1, closes #437 (PR #1624) Automatically set HTML lang attribute, by @fgtham (PR #1623) TextActions improvements for spacing and save, by @harshad1 (PR #1622) textactions: allow setting lower spacing, by @harshad1 (PR #1621) wording improvements Markdown: Fix wrong indentation of code blocks in checklists, by @fgtham, closes #1600 (PR #1620) markdown: YAML front-matter improvements, by @gsantner (PR #1597) rename string sort ‘Sort by’ -> sort_by, by @gsantner markdown: Support and display YAML front-matter block contents, by @fgtham @gsantner (PR #1597) Reformat code, optimize imports todo.txt: Insert new task start date generally if Auto-Format is enabled, remove special settings option, by @gsantner, closes #1592 Per-file toggle for auto-format, by @harshad1, closes #1592 (PR #1611) markdown: Add admonition extension, by @fgtham @gsantner (PR #1584) Markdown: Improve/Fix KaTeX math expression integration, closes #1389, closes #1393, by @fgtham @gsantner (PR #1576) ISSUE_TEMPLATE: improve template Markdown toc: Frontmatter may be followed by optional empty line, by @fgtham, closes #1246 (PR #1589) ISSUE_TEMPLATE: Add dropdown selection for format Update ISSUE_TEMPLATE Remove EXTRA_PATH_IS_FOLDER intent parameter everywhere, by @harshad1 (PR #1582) Improve document handling, by @harshad1 (PR #1579) markdown: Support flowcharts with mermaid, by @fgtham, closes #720 (PR #1581) markdown math/katex: support mhchem (chemistry), by @fgtham (PR #1575) Fix multiple windows not working in v2.8.5, by @harshad1, closes #1570 (PR #1572) Markor v2.8.6 update more: Add buildinfo field for last git commit message, by @gsantner readme: Improve structure and add more information readme: Remove codacy github badge preview: Open links to folders in filebrowser, closes #967, by @gsantner ShareInto: Strip common tracking parameters, by @gsantner, closes #1490 Editor: Fix crash at activity state restoring, closes #1565, by @gsantner ShareInto: Fix newline append issue, closes #1569, by @gsantner Replace Google Play badge Markor v2.8.5 update release Zim: Fix Android SDK API level error, by @gsantner Theming: Startup & Activity animations: Quicker, less flashing, closes #1517 #568, by @gsantner Filebrowser: Allow shown filename multiline expansion, by @gsantner, discussions #1557 #1558 #1559 Reformat XML files, by @gsantner Support day/night theme system, by @harshad1 @gsantner (PR #1543) Update year 2021->2022 Debloat: Drop todo.txt huuid experiment, by @gsantner Debloat: Drop redundant launcher shortcut option from editor (new->filebrowser), by @gsantner Reformat code, by @gsantner Add launcher shortcuts to folders, by @harshad1 (PR #1549) Set MIN_OVERWRITE_LENGTH=2 filebrowser: Change notebook folder menu icon to home, by @harshad1 (PR #1535) Bugfix: TextActions document can be null, by @harshad1 (PR #1544) Document menu: Swap search<->save button position, by @gsantner Directly show view mode in mainactivity (ToDo, QuickNote), by @gsantner Markdown: soft wrap lines with link, by @gsantner, closes #1536 File change state indication & general improvements, by @harshad1 @gsantner (PR #1516) Privacy: Add option to disallow screenshots, closes #1174 (PR #1514 by @Zoo-M0 @gsantner) ShareInto: Only trim line breaks when appending, by @gsantner, closes #1526 Combined storage permission check, restart mainactivity & reload all files after grant, by @gsantner (premerge #1359 #1521) Add view mode debugging hint. by @gsantner Update gradle-wrapper, export activites, by @gsantner (premerge #1359 #1521) Markor update v2.8.4 Rename markor baseactivity and use everywhere, move OpenEditor activity to subdir, by @gsantner Reformat code, by @gsantner Markdown: Support spaces in markdown links and images, closes #1365 (PR #1510), by @tifish @gsantner ShareInto: Fix todo.txt entry won’t appear, by @gsantner, PR #1495 Add option to control Chrome Custom Tab behaviour, by @gsantner, closes #686 #1385 todo.txt: Add option to save search queries, by @harshad1 (PR #1467) Remove NO_SUGGESTIONS hint from a few dialogs, by @gsantner, closes #1507 #1508 Delay inputfilter addition at document load Private AppStorage: Allow to access to files directory only (don’t allow access to internals like shared_preferences & databases) Share Into - Format MainActivity todo/quicknote scroll to bottom via setUserVisibleHint Remove one setDocumentViewVisibility call, #1502 ShareInto format/prefix: Improve wording, restore previous defaultvalue Share into format/prefix customization, by @harshad1, closes #1368 (PR #1495) Optimize imports & autoformat Improve file I/O, by @harshad1 (PR #1489) Move bundled fonts to thirdparty directory, drop 3 fonts to reduce apk size CI/CD: Makefile: Configurable flavor CI/CD: Makefile: Add app run job Markor v2.8.3 Add spellchecking capabilities for strings.xml to Makefile & CI/CD, by @gsantner filemanager: Always load latest fav/recent/popular files when browsing to it ShareInto:: reset modTime after writing, so it’s correctly reloaded at time of opening at editor, by @gsantner filebrowser::rename file::fix/workaround for Android’s filesystem case-insensitive filenaming, by @gsantner, closes #1481 Debug builds (aaTest): Properly show version of Markor at ‘More’ page Markor v2.8.2 Improve file open/close speed, fix file read/write issues, closes #1470, by @harshad1 @gsantner (PR #1473) Zim: follow links to other wiki pages, closes #1223, by @fredericjacob (PR #1437) Release update v2.8.1, by @gsantner Workaround for buggy keyboard at file/folder creation, fixes #1461 (PR #1466 by @gsantner) Remove unused class AppCast Fix preference-key based buttons in turkish locale, fixes #1425 # 1443 (PR #1455 @gsantner) Fix recently added languages not displayed accordingly (#1454 by @gsantner) Fix language preference: Properly show all languages (PR #1453 by @gsantner) Add language Odia/Oriya (India), Update translations (PR #1446 #1451) ZimWiki: Syntax highlighting for code, global setting (PR #1434 by @fredericjacob) Markdown: Individual table of contents level options (PR #1427 by @fredericjacob @gsantner) Update crowdin config Translation update (PR #1429) filebrowser: Improve performance a lot (speed of file list appearing) filebrowser:sort: use compareToIgnoreCase for name comparision Browse todo.txt file by various filters (PR #1408 by @harshad1) todotxt: Save priority on done by pri:X kv (PR #1420 by @harshad1) Allow to install APK files from filebrowser on click, by @gsantner (PR #1417) Automatically find FileProvider, by @gsantner ShareUtils:: mark fileProviderAuthority static

gsantner (Gregor Santner) - Austrian software developer
Markor v2.3 - Markdown Editor Table of Contents, Custom Action Order

Markor v2.3 update is out! Get the update from F-Droid, Google Play or GitHub! Continue reading to find out what’s new, improved and fixed in this update. Highlights Markdown: Table of Contents in Edit Mode Table of contents were already supported at Markdown view mode since quite some time (optional setting). A similar functionality is now available for Markdown Edit Mode too. Tap the filename at the toolbar to open the Outline (see screenshot below). You get a quick overview what the document contains, and it’s the fastest way to jump to a specific sections of your text & make edits. Editor: Custom action button order Frequently requested: To be able to order the action buttons for text editing in a order that fits own workflow. You can now order all actions as you wish and separately per format (Markdown, todo.txt, Plaintext). To change the order open the settings, select the format to customize and in the “Action Order” menu you are able to freely move options. Project community Markor gets a lot of new features, improvements and fixes with every update. This time especially due Harshad Srinivasans hard work. Thank you very much! More information Changelog Notice: Development changelog is always available from GitHub. See the history for code changes. Add action to Move current selected line(s)/cursor text up/down Add settings option for View-Mode link color Improve table of contents - add border, disable underline Long press toolbar to jump to top/bottom (edit & view mode) Add search to View Mode Accessibility improvements & Talkback support Allow http protocol on Android>=9 Telegram file edit support Markdown: Normal sized headers by default, increases performance Disable highlighting on big files to improve edit performance Don’t sort non-document files in third group Add Accordion (Click to expand) example and add action button Tooltips for action buttons For index.html files, show foldername at favourites/recents todo.txt: Set completition date also when there is no creation date Markdown: Configurable unordered list character Custom order of action buttons Markdown: Add alternative more performant heading highlighting Fix foldername in Main toolbar not reloaded Plaintext: Add extensions for AsciiDoc (.adoc), OrgMode (.org), Ledger (.dg .ledger), Diff (.diff .patch) Remember last used file extension for new file creation todo.txt: Preselect last used archive file by default for archiving Markdown: Long press code to insert code block todo.txt: Improved task sort functionalities Add action button to expand selection of cursror to whole line Markdown: Add Table of contents / Outline for Edit mode (Press toolbar) Vertical Scrollbar now draggable at view & edit mode todo.txt: Date&Time selection dialogs Markdown: Auto update ordered list numbers

Since over a month my XMPP account is targeted by spammers. Due that I’m moving on to a different XMPP ID I might announce later. Note: Neither my account nor any chats or their keys are compromised.
Moving to different XMPP account due spam and exploit tries
#itchio #gaming #gsantner #gregorsantner #austriansoftwaredeveloper #fdroid #f-droid #blog #opensource
Moving to different XMPP account due spam and exploit tries

Since over a month my XMPP account is targeted by spammers. Due that I’m moving on to a different XMPP ID I might announce later. Note: Neither my account nor any chats or their keys are compromised. Observerations Messages are mostly short, greetings in Eastern European & Russian languages At least one new JID per hour initiates a chat, sometimes more frequently Some messages start with exploit and credit card Bots are seemingly aware they get blocked/ignored (“cannot write to you, everytime get errors”) There is heavy interest in getting personal contact and presence information / that a contact request gets accepted Dear reader and XMPP user, did you experience something similar recently? Let me know and join the discussion below!

This page helps you to get started using file synchronization with Syncthing and Markor as your favourite file editor of choice. Required applications are Syncthing (Desktop & Android) and Markor (Android).
Markor: How to synchronize files with Syncthing
#project #markor #android #syncthing #gsantner #gregorsantner #austriansoftwaredeveloper #fdroid #f-droid #blog #opensource
Markor: How to synchronize files with Syncthing

This page helps you to get started using file synchronization with Syncthing and Markor as your favourite file editor of choice. Required applications are Syncthing (Desktop & Android) and Markor (Android). Quick Guide Syncthing is a protocol to sync files between your devices, with implementations for various platforms. Unlike other (even open source) sync and backup solutions, it does not require complex server setup or dependence on 3rd parties. According to their website: Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it’s transmitted over the Internet. To start off, install Syncthing and set up a shared folder. More info on how to do that here. Then, all you need to do is tell Marker where to look for and save files: Go to your Notebook (close any open note and swipe to the left) Open the overflow menu (tap the three dots in the upper right) Go to Settings -> App-wide -> Notebook Navigate to and select your synced folder (The Syncthing app will tell you the path under the folder’s name) Advanced Guide I use Syncthing - both on my desktop (Linux Debian) and on Android phone (Xiaomi Redmi 4x). Open source, privacy (my data doesn’t get to the third party), etc. I use both with local networks settings (syncing by local home wifi) since in the recent past I didn’t have mobile internet, so I connect desktop (firefly at 192.168.1.4) and phone (redmi 4x new at 192.168.1.6). I prefer keep separate folder for texts (~/text at desktop, and ~/text aka /storage/emulated/0/text at phone), because syncthing sync little text files lightning fast - without having to wait for all other (big) files to be synchronized. For desktop linux I install syncthing by default repo (sudo apt install syncthing), start it and set it up via browser interface (http://127.0.0.1:8384/). I use “homebrew” selftuned Openbox install, so syncthing run at start via ~/.config/openbox/autostart.sh (added there (syncthing -no-browser) &). For android phone I get syncthing from f-droid.org and connect it with desktop. Rarely I may get version conflict, but syncthing keep both version of files (see at screenshot) and I just use vimdiff. So far - 143 files inside ~/text :)

Debugging is an essential part of software development. In case of Ubuntu Touch apps there are basically two ways to debug an app. This blog post showcases both ways.
Develop Apps for Ubuntu Touch: How to Debug Apps
#opensource #development #debug #debugging #ubuntu #touch #ubports #ut #ubuntutouch #gsantner #gregorsantner #austriansoftwaredeveloper #fdroid #f-droid #blog #opensource
Develop Apps for Ubuntu Touch: How to Debug Apps

Debugging is an essential part of software development. In case of Ubuntu Touch apps there are basically two ways to debug an app. This blog post showcases both ways. Some basic knowledge of GDB is assumed as well as of Clickable which is the recommended tool to build Ubuntu Touch apps. If not, search the web for GDB tutorials and/or read the Clickable Documentation. Desktop Mode Clickable provides a desktop mode to run an Ubuntu Touch app on desktop. This mode also enables debugging via GDB. Again there are two ways: 1) Run GDB in a terminal 2) Start gdbserver and debug with your preferred IDE. GDB on Command Line From the project root directory run: clickable desktop --gdb This compiles the app with debug symbols (provided that CMake or qmake is used) and starts GDB inside a docker container. Use GDB commands like break main and run to start debugging. You can find more examples, like how to set breakpoints on a specific lines of code here. Any IDE via gdbserver From the project root directory run: clickable desktop --gdbserver 3333 This starts the gdbserver on port 3333. Check for an option to do GDB Remote Debugging in your IDE and connect to localhost:3333. On Device Debugging in desktop mode is convenient, but it does not cover all use cases, e.g. those involving Content Hub, App Armor or arm specific issues. In such a case you need to debug directly on an Ubuntu Touch device. You can always watch the logs from the device on your desktop via clickable logs This works independently of the debugging described below. Preparation Note: The steps described below make your rootfs writable and use apt to install packages. Do only proceed if you know what you are doing and how to reinstall Ubuntu Touch in case of trouble. Also note that your changes might get lost after system updates. Make sure to install a debug build of your app, e.g. via Clickable: clickable --debug Make sure you have started the app at least once normally with that version. Enter a shell on your device via SSH and run all subsequent commands on the device. Remount the root filesystem writable and install gdb: sudo mount -o rw,remount / sudo apt update sudo apt install gdb libc6-dbg You may need to repeat this step after an OTA update. Installing libc6-dbg is necessary due to a bug that probably won’t be closed, soon. Find the app’s desktop file in the ubuntu-app-launch cache ls /home/phablet/.cache/ubuntu-app-launch/desktop/ Let’s use Webber as an example. In this example /home/phablet/.cache/ubuntu-app-launch/desktop/webber.timsueberkrueb_webber_0.5.1.desktop. You will need that path in a second. Change directory to the installation path of the app, which can be found at /opt/click.ubuntu.com/<appname>.<maintainer>/current. In case of Webber cd /opt/click.ubuntu.com/webber.timsueberkrueb/current Look for the Exec line in the desktop file to find out how to start the app cat /home/phablet/.cache/ubuntu-app-launch/desktop/webber.timsueberkrueb_webber_0.5.1.desktop | grep Exec In case of Webber this returns Exec=webber %U. This means the app is started by the command webber (we can omit the %U). This executable may be located directly in the app installation directory or in the sub directory lib/<arch-triplet>/bin, where <arch-triplet is arm-linux-gnueabihf or aarch64-linux-gnu depending on your device. In case of Webber on a armhf device the executable is located at lib/arm-linux-gnueabihf/bin/webber. Sourcing the app environment When an app is started, some environment variables are set and the app may rely on them to work properly. That’s why you may or may not need to do this step before starting gdb on your app, too. In this sections you will learn how it can be done. Start your app normally. Then find out the process ID (PID) ps aux | grep <command> where <command> is the executable that starts the app. Example for Webber: phablet 32384 8.6 2.2 340256 62620 ? Ssl 08:41 0:01 webber phablet 32576 0.0 0.0 5684 812 pts/47 R+ 08:41 0:00 grep --color=auto webber We ignore the grep command we just ran and find the PID to be 32384. While the app is still running execute: . <(xargs -0 bash -c 'printf

Single-player blackjack game with optional basic strategy hints.

I started on the project in februrary 2020 to get 100% offline working crosstplaform apps running on a Ubuntu Touch / UBPorts phone and as a result uploaded the app to OpenStore.

Read the blog post here:
Blackjack (Vlackjack) - 100% offline crossplatform game (New in Ubuntu Touch OpenStore)





#project #opensource #offline #app #game #ubuntu #touch #ubports #ut #blackjack #vlackjack #ubuntutouch #gsantner #gregorsantner #austriansoftwaredeveloper #blog
Blackjack (Vlackjack) - 100% offline crossplatform game (New in Ubuntu Touch OpenStore)
Blackjack (Vlackjack) - 100% offline crossplatform game (New in Ubuntu Touch OpenStore)

Single-player blackjack game with optional basic strategy hints. I started on the project in februrary 2020 to get 100% offline working crosstplaform apps running on a Ubuntu Touch / UBPorts phone and as a result uploaded the app to OpenStore. Project description NOTICE: Absolutely zero real money involved and no in-app-purchases or alike! You always play with virtual coins, restart the game to get the initial amount of coins again. The coin highscore is saved, you can view it in the left sidebar. Rules To keep the game simple, the initial bet is always one coin 6 Decks, shuffled after 75% have been played Blackjack pays 2-to-1 Dealer stands on any 17 (S17) Double down on any two cards (D2) Double down after splitting (DAS) (except Aces) No resplitting (NR) No insurance (NI) The basic strategy suggestions are based on this ruleset. Screenshots         Project links – Please share this post & project in social networks and on UBPorts! – Posted on Fediverse Friendica/diaspora/Mastodon – Download from OpenStore License The app itself is MIT licensed, it’s a fork of kevinleedrum. My fork for Ubuntu touch has been changed to improve usability for mobile usage.

I started on the project in februrary 2020 to get 100% offline working crosstplaform apps running on a Ubuntu Touch / UBPorts phone and as a result uploaded the app to OpenStore.
Blackjack (Vlackjack) - 100% offline crossplatform game (New in Ubuntu Touch OpenStore)
#project #opensource #offline #app #game #ubuntu #touch #ubports #ut #blackjack #vlackjack #ubuntutouch #gsantner #gregorsantner #austriansoftwaredeveloper #fdroid #f-droid #blog #opensource
Blackjack (Vlackjack) - 100% offline crossplatform game (New in Ubuntu Touch OpenStore)

I started on the project in februrary 2020 to get 100% offline working crosstplaform apps running on a Ubuntu Touch / UBPorts phone and as a result uploaded the app to OpenStore. Project description Single-player HTML5 blackjack game with optional basic strategy hints. NOTICE: Absolutely zero real money involved and no in-app-purchases or alike! You always play with virtual coins, restart the game to get the initial amount of coins again. The coin highscore is saved, you can view it in the left sidebar. Rules To keep the game simple, the initial bet is always one coin 6 Decks, shuffled after 75% have been played Blackjack pays 2-to-1 Dealer stands on any 17 (S17) Double down on any two cards (D2) Double down after splitting (DAS) (except Aces) No resplitting (NR) No insurance (NI) The basic strategy suggestions are based on this ruleset. Screenshots         Project links – Please share this post & project in social networks and on UBPorts! – Posted on Fediverse Friendica/diaspora/Mastodon – Download from OpenStore License The app itself is MIT licensed, it’s a fork of kevinleedrum. My fork for Ubuntu touch has been changed to improve usability for mobile usage.