Package Details: typora 0.9.70-1

Git Clone URL: https://aur.archlinux.org/typora.git (read-only)
Package Base: typora
Description: Typora will give you a seamless experience as both a reader and a writer.
Upstream URL: https://typora.io/
Keywords: markdown
Licenses: custom:"Copyright (c) 2015 Abner Lee All Rights Reserved."
Submitter: duckbrain
Maintainer: duckbrain
Last Packager: duckbrain
Votes: 62
Popularity: 5.475004
First Submitted: 2016-09-28 06:28
Last Updated: 2019-04-21 00:20

Latest Comments

1 2 3 4 5 Next › Last »

duckbrain commented on 2019-04-13 15:07

@alf That path gets updated with the latest version without warning. That would make it so every time there was an update, this AUR package would fail to build until the AUR package gets updated with the new checksum.

alf commented on 2019-04-11 09:32

why don't we use https://typora.io/linux/Typora-linux-x64.tar.gz instead of https://typora.io/linux/typora_0.9.68_amd64.deb?

here is my setup

PKGBUILD https://hastebin.com/werizitowo

asar.js.patch https://hastebin.com/biwefifejo

typora.sh https://hastebin.com/xebacucubu

typora.desktop https://hastebin.com/ucezayizip

JohnRobson commented on 2019-03-11 22:55

@duckbrain thank you very much! you are right, this is the latest version.

duckbrain commented on 2019-03-09 17:24

@JohnRobson 0.9.9.65? Where are you seeing that? It's already at 0.9.65? 0.9.9.65 doesn't make any sense. Also, you don't need to post a comment when you flag it as out of date. I get an email for each.

irgendwr commented on 2018-11-03 20:05

@duckbrain wow, that was really quick and solved it. Thanks!

duckbrain commented on 2018-11-03 19:55

@irgendwr Yeah, it's causing more problems than it solves. I reverted back to the binary release.

irgendwr commented on 2018-11-03 19:25

@duckbrain >I prefer having the electron dependency, unless it causes a problem.

Using the electron dependency is currently causing a problem since typora is bundled with and depends on electron 3.x while the electron dependency here is on 2.x. See https://github.com/typora/typora-issues/issues/1932 and https://github.com/typora/typora-issues/issues/1912

Can you at least temporarily use the bundled electron until 3.x is available to fix the issues?

rocka commented on 2018-10-03 13:51

Good to know that changes, but I found 2 new questions:

  1. app configuration path has been changed to ~/.config/Electron, not ~/.config/Typora, because electron did not start with a package.json file. We can use electron's app.setPath() to override it;

  2. the app version in 'Help -> About' displays version of electron, not Typora. We can also override it with the version name from package.json file.

Here was the changed typora.js:

#!/usr/bin/electron

const { join } = require('path');
const { app } = require('electron');
const APP_DIR = '/usr/share/typora/';
const conf = require(APP_DIR + 'package.json');

app.setName(conf.name);
app.setPath('userData', join(app.getPath('appData'), conf.name));
app.getVersion = () => conf.version;

process.argv.shift();
require(APP_DIR + conf.main);

duckbrain commented on 2018-10-03 03:45

@rocka, I used your idea, but without patching the Typora code. My entrypoint is a JavaScript file with electron in the hash-bang, that just immediately removes the extra arg and runs the normal code. It seems to work.

Let me know if there are any other issues with the new system electron package.

rocka commented on 2018-09-26 13:03

Finally I figured out how to keep the featrue "On Launch - Restore last closed files and folders" functionality with system electron. Just patch the .js files.

When typora is launched with bundled electron, it's process.argv equals to ["/usr/share/typora/Typora", "/path/to/file"]. But if it was launched with system electron, it changes to ["/usr/lib/electron/electron", "/path/to/typora", "/path/to/file"], so it would just restore typora folder every times.

Let me show the PKGBUILD and patch:

pkgname=typora
pkgver=0.9.58
pkgrel=1
pkgdesc="Typora will give you a seamless experience as both a reader and a writer."
arch=('x86_64')
license=('custom:"Copyright (c) 2015 Abner Lee All Rights Reserved."')
url="https://typora.io/"
depends=('gconf' 'libxss' 'electron')
makedepends=('asar')
optdepends=('noto-fonts-emoji: Or some other emoji font to see emojis')
provides=('typora')
conflicts=('typora')
source=(
    'typora.sh'
    'atom.js.diff'
    "https://typora.io/./linux/${pkgname}_${pkgver}_amd64.deb"
)
md5sums=(
    'ba1aa3c5c401723a06cb941fe8b7c23a'
    'a103aa5e384d9fc4b54a7aae4e10d4e5'
    '23e55a05ead4115b415c77c1709aa9e6'
)

package() {
    _src="$srcdir/$pkgname"
    mkdir -p "$_src"
    bsdtar -xf data.tar.xz -C "$_src/"

    sed -i '/Change Log/d' "$_src/usr/share/applications/typora.desktop"

    asar e "$_src/usr/share/typora/resources/app/atom.asar" "$_src/usr/share/typora/resources/app/atom"
    patch "$_src/usr/share/typora/resources/app/atom/atom.js" "$srcdir/atom.js.diff"
    asar p "$_src/usr/share/typora/resources/app/atom" "$_src/usr/share/typora/resources/app/atom.asar"
    rm -r "$_src/usr/share/typora/resources/app/atom"

    install -Dm644 "$_src/usr/share/applications/typora.desktop" "$pkgdir/usr/share/applications/typora.desktop"
    install -Dm644 "$_src/usr/share/doc/typora/copyright" "$pkgdir/usr/share/doc/typora/copyright"
    install -Dm755 "$srcdir/typora.sh" "$pkgdir/usr/bin/typora"

    cp -r "$_src/usr/share/icons" "$pkgdir/usr/share/icons"
    cp -r "$_src/usr/share/typora/resources/app" "$pkgdir/usr/share/typora"
}

typora.sh

#!/usr/bin/bash
exec /usr/bin/electron /usr/share/typora $@

atom.js.diff

--- atom.js 2018-09-26 20:48:45.760765096 +0800
+++ atom.1.js   2018-09-26 20:46:57.989992178 +0800
@@ -60,6 +60,9 @@

 function getFilePath(argv, workingDirectory) {
     var path;
+    if (argv[0].endsWith('electron')) {
+        argv.shift();
+    }
     if (argv.length > 1) {
         path = argv[argv.length - 1];
     }