Laverna / laverna

Laverna is a JavaScript note taking application with Markdown editor and encryption support. Consider it like open source alternative to Evernote.
https://laverna.cc/index.html
Mozilla Public License 2.0
9.2k stars 801 forks source link

Mobile app #174

Open EnigmaCurry opened 10 years ago

EnigmaCurry commented 10 years ago

Is there a roadmap for a mobile friendly version of Laverna? It's not unusable on mobile, but I think a lot more can be done. I'm thinking Apache Cordova might be a good contender to easily wrap the existing code into apps compatible across platforms.

Some features I think would be good to have in mobile versions:

If nothing like this has been considered, I'll probably start investigating Cordova.

wwebfor commented 10 years ago

You can compile a phonegap app. All you have to do is to run a command grunt platform-build.

EnigmaCurry commented 10 years ago

oh, nice, that was easy! It looks like this is still pretty early, I can see a list of notes, but when I click on them I can't view them. Editing works great though. I'll play around with this some more. Thanks!

LudovicRousseau commented 10 years ago

For me grunt platform-buildfails with:

[...]
Running "phonegap:build" task
Cleaning phonegap
Creating directory tree
Cloning root directory
Warning: EMFILE, open 'dist/bower_components/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js' Use --force to continue.

Aborted due to warnings.

I can send the full log if needed.

If I use grunt --force platform-build as suggested I get:

[...]
Running "phonegap:build" task
Cleaning phonegap
Creating directory tree
Cloning root directory
Warning: EMFILE, open 'dist/bower_components/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js' Used --force, continuing.
Fatal error: EMFILE, open 'dist/bower_components/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js'

The file dist/bower_components/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.jsexists. I don't know what the problem is.

grunt build do not fail. But I can't display notes if I click on them on my Galaxy Note 2 phone using Firefox 32.0.1. Maybe it is the same problem @EnigmaCurry is also having. It is even worse using Chrome 37.0.2062.117 on Android. The first laverna page is not correctly displayed.

EnigmaCurry commented 10 years ago

I investigated the issue I saw where you couldn't see the notes. The notes list get's a high z-order value of 1070 when the window is not very wide (as is the case on mobile). The note itself has a z-order of 1030, so it is actually appearing beneath the list of notes, so you can't see it.

1337sup3rh4x0r commented 10 years ago

How exactly do I get this phonegap app on my android device? I am currently running laverna from laverna.cc and have my notes stored in mydropbox.

vtheuer commented 9 years ago

I am also having an issue running grunt platform-build, it seems that the AndroidManifest.xml is somehow not created.

Running "phonegap:build" task
Cleaning phonegap
Creating directory tree
Cloning root directory
Cloning .cordova directory
Compiling config.xml
Compiling template dist/config.xml
Adding plugins
Building platforms
Running: phonegap local build android
[phonegap] adding the Android platform...
>> C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.js:126
>>                     throw e;
>>                           ^
>> Error: An error occurred while listing Android targets
>>     at C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\lib\check_reqs.js:87:29
>>     at _rejected (C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.js:808:24)
>>     at C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.js:834:30
>>     at Promise.when (C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.js:1079:31)
>>     at Promise.promise.promiseDispatch (C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.js:752:41)
>>     at C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.js:574:44
>>     at flush (C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\node_modules\q\q.js:108:17)
>>     at process._tickCallback (node.js:419:13)
>> { [Error: C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\create.bat: Command failed with exit code 8] code: 8 }
   [error] C:\Utilisateurs\a555979\.cordova\lib\android\cordova\3.5.1\bin\create.bat: Command failed with exit code 8
Fatal error: Unable to read "phonegap\platforms\android\AndroidManifest.xml" file (Error code: ENOENT).

Should I open an separate issue?

Lich4r commented 9 years ago

I also got error while running grunt platform-build. I don't understand how to get a mobile friendly app. Do we have to build this where laverna was installed ? (in my case a server) or on the mobile device we wan't it working ?

The error I got is :

Error: ANDROID_HOME is not set and "android" command not in your PATH. You must fulfill at least one of these conditions.
    at /home/User/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/lib/check_reqs.js:159:19
    at _fulfilled (/home/User/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/home/User/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/home/User/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:760:13)
    at /home/User/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:821:14
    at flush (/home/User/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:419:13)
    at Function.Module.runMain (module.js:499:11)
    at startup (node.js:119:16)
    at node.js:906:3

Error: /home/User/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/create: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/lib/node_modules/phonegap/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Process.ChildProcess._handle.onexit (child_process.js:823:5)

[phonegap] executing 'cordova build android'...
No platforms added to this project. Please use `cordova platform add <platform>`.

With User the name of my user on my server.

How can I deal with this ?

Thanks

vinc-nz commented 9 years ago

I managed to build the mobile application, why haven't you released it in play store?

bnvk commented 9 years ago

Might I suggest listing the Android app in the f-droid store, as I believe it is license appropriate to do so!

wwebfor commented 9 years ago

We were planning to release it but currently we feel like it is not optimized much for mobile devices yet.

Mosrite commented 9 years ago

I think not being optimized for mobile is not a big issue in the sort-run. It would be cool though to have offline support for notes, the option to create a note with the share menu and not being forced to use a (resource heavy) full sized browser.

chmac commented 8 years ago

Firstly, laverna looks awesome, thanks for sharing it.

Any update on the android version? Would be a huge win if I could sync private notes onto my phone...

opennomad commented 8 years ago

I've managed to build laverna based on the readme, but I can't seem to figure out how to build the android app. running grunt platform-build tells me there isn't a Gruntfile. I'm sure I'm missing something obvious and would appreciated any pointers ..

wwebfor commented 8 years ago

@opennomad recently we switched to Gulp. That is why currently there isn't a task for building Android app.

dagoodma commented 8 years ago

Laverna is lacking documentation for building the mobile and desktop apps. Can the commands at least be added to the README or the wiki for ease of getting started? @wwebfor Or are you saying that after switching to gulp there's no support for building android? What about the 'mobile' task I see in the gulpfile, and gulp/mobile.js?

I ran gulp build, and that wrote everything to the dist/ folder, but how do I package that up? I tried phonegap (installed with npm install -g phonegap) with phonegap run android in the project root directory, but I got:

[phonegap] executing 'cordova run android ' ...
Error: Current working directory is not a Cordova-based project.

Also, the wiki FAQ's link to this issue is broken. It attempts to link here (#174), but the html is incorrect and it acts like an anchor instead--leading no where. EDIT: Okay, I fixed the link on the wiki page to point here correctly.

dagoodma commented 7 years ago

@sp4x Can you describe how you got the mobile app to build? I would really like to do some development on the mobile app to bring it up to par.

vboitsov commented 7 years ago

@wwebfor Hi! I would like to contribute to the project and create a native android app. So, if you don't mind, maybe you have some suggestions or wishes? Anyway, I'll start it in my own repository, and if everything is okay, we can come up with it somehow.

wwebfor commented 7 years ago

@vboitsov it would be amazing.

dagoodma commented 7 years ago

FYI for all those following this issue:

dagoodma commented 7 years ago

FYI for all those following this issue: https://github.com/vboitsov/laverna-android.git

funilrys commented 6 years ago

Hello there, Please report to https://github.com/Laverna/laverna/issues/971#issuecomment-411423965 which explain the state of this project.

Have a nice day/night, Cheers, Nissar