billthefarmer / diary Goto Github PK
View Code? Open in Web Editor NEWAndroid personal diary - forked from http://git.savannah.gnu.org/cgit/diary.git
Home Page: https://billthefarmer.github.io/diary
License: GNU General Public License v3.0
Android personal diary - forked from http://git.savannah.gnu.org/cgit/diary.git
Home Page: https://billthefarmer.github.io/diary
License: GNU General Public License v3.0
It would be much better if this button simply lived on the topbar, as all other buttons. It wouldn't stand in the way, and I wouldn't have to use this button-press-to-hide-or-show workaround.
If this feature is popular, maybe add an option to choose FAB or non-FAB?
It is hard to get a path including file name into the clipboard on android. Therefore I suggest to register diary to be able to receive image “send to” messages (don't know the android standard name for it). diary could then open with a date picker, the current or last edited date highlighted, to find out which day to append the link. Ideally, this functionality could be combined with #12 where the dialog described there is opened after specifying the date.
I'm only rarely using Diary , so it's not an "every day app"; only funny events caused by our little daughter are entered.
For this reason, it would be great to have an option to see only "used" dates / diary entries (or hide the "empty" dates).
By having such an option, it would be easily possible to browse all remembrances, even if they are not in daily sequence.
I'm using Diary only irregularly for retaining funny experiences that are caused by our little daughter.
I had only one entry up to now and wanted to add a second one this morning.... - but it seems that my first entry was deleted! :-(
When opening Diary , it looks like a fresh, new installation: The "description entry" (with the description how to use) is at the current date, the formerly entered event/date was gone!
I'm updating Diary via the F-Droid app store.
I guess that the app update updated the diary's entries as well, due to a new "description entry", and killed my own, existing entry as well...
thanks for such a great app, would it be possible to add an option to sync to a remote storage such as nextcloud?
What about having a way to create one or more templates so we can choose which one we would like to use when we start to edit our day.
Diary explicitly makes markdown files. Having the files saved as .txt files is slightly disingenuous, and can cause complications if the user wishes to do any automated post-processing to the entries, while still allowing direct editing.
As an example: I am interested in hacking together a kind of journal-to-website workflow, most likely using jekyll, which requires the extension to match the formatting of the file for processing. If I wanted to be able to update entries on the fly, I would need to create a complicated script that checked for a difference between the .txt that diary created, and the .md copy, and update any time that a change is made.
I understand that this was intended as a personal use tool, as per the name, but I feel that this is one of the kind of clean and small tools that allow for fun, hacky tool systems built on top of them, and this change would facilitate that significantly.
I'm using termux (termux.com, a linux emulator) on my phone, with vim and vimwiki (vimwiki.github.io, a personal wiki for vim) and vimwiki has a diary component, that consists of a file-per-day, and also supports markdown.
This feature request is for a settings option that
a) can determine whether termux >> vim >> vimwiki is installed, and
b) can configure diary app to use the vimwiki-diary folder(s).
So that I can easily make vimwiki-diary entries, and acces previous ones, from my android.
thanks!
I would like to see a simple password access for the diary. Numeric would be fine up to 16 characters. I know everything can be read in the text files, but most people can't get passed the UI.
On the last version 1.18 the swipe (up/down) action causing impossibility to scroll down the page because the motion is too sensible. How we can do to fix this problem?
Thank you for programming a diary app.
I like this program. But for diary I would like to have pin or password. What do you think about?
The calender view in vertikal and horizontal view looks different and the actual date in vertikal is hard to read (grey and dark grey). I attach two screenshots.
Best regards
I just wanted to check how to build this via the console; the build presumably passes but the output of the protocol ends with
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'diary'.
> You have not accepted the license agreements of the following SDK components:
[Android Support Repository].
Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 1 mins 31.316 secs
The command "./gradlew build" exited with 1.
Done. Your build exited with 1.
So, something seems to be wrong with your CI setup.
When I open the Diary app in landscape mode and click on options botton. I choose Go to date option and click on this option. After clicking on this option all the dates are not appeared,some dates are unseen and I was not able to select them .
If I open this option in portable mode and rotate my phone in landscape mode. I have to select Go to option again . After clicking on this option similarly some dates are unseen.
Hi, It would propose to add a option to search word/text in all note.
Here is example content:
10
--
[probably] this [link](http://ya.ru) will be a mess
Сон
---
example_function_name
This is how it looks in Diary app:
But expected rendering should be like this (taken from https://github.com/gsantner/markor app)
or here is rendering by github for comparison:
[probably] this link will be a mess
example_function_name
I've even tested in https://remarkableapp.github.io/ as an example of desktop app and got expected output.
So here are list of issues:
I suppose Diary uses custom made markdown parser. What's your opinion on switching to existing any library to avoid manually handling all corner cases?
I've been using diary to record my progress of learning Persian.
Adding new words to their appropriate dates makes it painfully obvious how slow that is going ;)
now, copy / paste works fine here, however, when I'm practicing a word myself, it gets tricky, because the input text is usually covered my the safe button
Hi and thanks for improving this app so much already. I thought about one little improvement: When I go back to the last day that has an entry with the arrow buttons, I cannot cycle back to today with the arrow keys. This is not a problem on a large display where the today button is visible, but on smaller displays, it would be convenient if I could go to today with the arrow buttons as well, since the today button is hidden in the menu.
Support left and right gesture for previous and next diary entries.
Additionally, left and wish gesture should also be supported in custom calendar.
Here are some videos to illustrate.
For empty data:
https://youtu.be/fkaWj3cAVyc
And for the crash:
https://youtu.be/3i4MYL5FwAk
I expected my added media images will be accessible even after closing and restarting the app.
The added media becomes unreadable after app restart
Download and open the app.
click on menu, then click on add media.
choose an image and upload.
close the app and open it again
Device: Tecno K7
Operating system: Android 7.0
App Version: 1.25
Hello there, I'd like to contribute to your awesome project by writing a Frequent Asked Questions for users self-service. Would love to hear from you, thanks.
Hi, I'm wondering whether it would be useful to add audio recording support.
Sometimes I'm just tired of typing words and would expect to record audio as a more detailed explaination for some texts. There is also sometime that I want to add something to my diary but don't have enough time to type everything through keyboard.
It would also be useful if the audio could be marked as "temporary" and then be hightlighted or aggregrated somewhere so the user could go back and change them to texts when there is time.
The docs say that "you may store images in the diary storage folders and reference them in diary entries so markdown text ![cat](cat.jpg)
will display cat.jpg stored in the current month folder which is Diary// on the sdcard."
This is great, but I need a way to refer to image in a different folder, say file:///storage/emulated/0/Diary/media/picture.jpg
Using this directly does work, but I also like this to work with another markdown piece of software on my PC so I'd really like to use ../../media/picture.jpg
Also I don't like overloading ~ as I'm on a Linux machine
Are there any plans to introduce the use of relative links?
Love your work, by the way :-)
Hello, @billthefarmerI want to contribute in "diary" so i want to designed a new logo for "diary" and it's free.
I hope you like it. If you like it, I will send you pull request, editable files/original source and .png format files. If there's something you want to change, I'll do it.
if you want i will send you my design
contact me on facebook for fast delivary
https://www.facebook.com/abdulmalikkhan655
I guess you know the saying “give someone an inch and they'll take a mile”, or, as we say here, “hand someone your pinky and they'll take your hand”. Nevertheless, some little improvements that came to my mind, this being the first one.
First, many thanks for the markdown view, I always dreamt of the possibilities it gives, especially with inserting image links. However, linking my vacation photos in the local file system renders them very large, I guess it is a 1:1 view at the image resolution. It would be great, if the image width would always fit to the display width, and, instead of moving the canvas around, the view would have the opportunity to pinch zoom into the canvas.
Probably this has to be reported upstream, but maybe it is possible by css styling as well. Unfortunately, I was not able to find it out from the markdown view's css documentation.
A highly rich format would be very appreciated. I think this app has potential, MarkDown, a material design and even maybe a reminder (for birthdays and such) and probably would be more than enough for everyone
The keyboard becomes automatically visible when starting the edition of an entry. But when I save, the keyboard stays visible. I have to use the Back button to make it disappear.
I am using Android 6.0.1, in case that is relevant.
It would be nice to add the option to insert in the text the user's position by inserting the coordinates for example: [45,xxx;7,xxx] and next displays it in one OpenStreetMap iframe
Add a Encrypt diary option.
Thanks!
Just an idea ...
I had a hard time to find a file manager on android that allows to copy a full path including filename of a picture file. Therefore I suggest the following:
Probably, one could even borrow some code from Signal where the most recent image files are displayed on top of the corresponding dialog.
Btw, the “Item 1” should of course be replaced by something like “2048” with the choice of “512”, “1024”, “1080”, ”1920”.
Since weeks I think about this feature and I know that at some point in time I was aware of something missing around this idea, but unfortunately I cannot remember. I think it will probably come to my mind again after I pressed “submit” …
It would be very handy if Diary could receive shared links, text snippets and maybe more.
Text snippets shared from Firefox also have the URL of the webpage they are coming from, this would make the app perfect to archive important snippets from webpages visited.
The inserted text could be indented by default.
Diary is exactly that - a diary - but I think it would also be a great journal. The one feature that I miss for that is a custom Index page from which you can start. Nothing fancy just a setting to either start at todays date or a special page.
When my phone locale is set to persian or Arabic, diary saves file and folder as arabic-indic numbers.
To see this bug:
In the "About us" activity two special character are not displayed correctly but is visible the unicode codes (\u00A9)
Note: the Italian language is set.
Since diary viewer supports JavaScript, it's good idea to adding JS injection option.
I want to run some actions on my text by JavaScript on all my diary pages.
On my 4.7" display, the "Save" button hides the end of the last lines:
I cannot read the words behind, nor place the cursor on them.
At first I liked this nice blue button, easily accessible. But now, I must say I'd rather have an simple icon in the window black toolbar. Unless it could be technically possible to scroll beyond the end of the text, so that the last lines appear above the button?
The markdown view works great and is able to embed images from the web
![text](http://server.tld/image.jpg)
or locally
![text](file:///directory/image.jpg)
and should be able to load relative references but I was not able to make it work since I don't know the base path:
![text](relative/path/image.jpg)
It would be great if
![text](image.jpg)
would grab the image from the current month directory such that I can keep image files together with the diary entries and easily reference them.
After saving file from diary app, expected whenever am to open them from my file manager they should open in diary app.
After clicking on the saved files, a crash pop up displays
.txt
format04-20 10:39:23.502 14520 14520 E AndroidRuntime: FATAL EXCEPTION: main
04-20 10:39:23.502 14520 14520 E AndroidRuntime: Process: org.billthefarmer.diary, PID: 14520
04-20 10:39:23.502 14520 14520 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.billthefarmer.diary/org.billthefarmer.diary.Editor}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.app.ActivityThread.-wrap12(ActivityThread.java)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:110)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.os.Looper.loop(Looper.java:203)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6251)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1073)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at org.billthefarmer.diary.Editor.onCreate(Editor.java:81)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6687)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
04-20 10:39:23.502 14520 14520 E AndroidRuntime: ... 9 more
04-20 10:57:50.770 20312 20312 E AndroidRuntime: FATAL EXCEPTION: main
04-20 10:57:50.770 20312 20312 E AndroidRuntime: Process: org.billthefarmer.diary, PID: 20312
04-20 10:57:50.770 20312 20312 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.billthefarmer.diary/org.billthefarmer.diary.Editor}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.app.ActivityThread.-wrap12(ActivityThread.java)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:110)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.os.Looper.loop(Looper.java:203)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6251)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1073)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at org.billthefarmer.diary.Editor.onCreate(Editor.java:81)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6687)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
04-20 10:57:50.770 20312 20312 E AndroidRuntime: ... 9 more
04-20 11:11:38.261 23197 23197 E AndroidRuntime: FATAL EXCEPTION: main
04-20 11:11:38.261 23197 23197 E AndroidRuntime: Process: org.billthefarmer.diary, PID: 23197
04-20 11:11:38.261 23197 23197 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.billthefarmer.diary/org.billthefarmer.diary.Editor}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.app.ActivityThread.-wrap12(ActivityThread.java)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:110)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.os.Looper.loop(Looper.java:203)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6251)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1073)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at org.billthefarmer.diary.Editor.onCreate(Editor.java:81)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6687)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
04-20 11:11:38.261 23197 23197 E AndroidRuntime: ... 9 more
04-20 11:25:06.115 25589 25589 E AndroidRuntime: FATAL EXCEPTION: main
04-20 11:25:06.115 25589 25589 E AndroidRuntime: Process: org.billthefarmer.diary, PID: 25589
04-20 11:25:06.115 25589 25589 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.billthefarmer.diary/org.billthefarmer.diary.Editor}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.app.ActivityThread.-wrap12(ActivityThread.java)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:110)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.os.Looper.loop(Looper.java:203)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6251)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1073)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getScheme()' on a null object reference
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at org.billthefarmer.diary.Editor.onCreate(Editor.java:81)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6687)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
04-20 11:25:06.115 25589 25589 E AndroidRuntime: ... 9 more
04-21 00:32:04.280 30270 30270 E AndroidRuntime: FATAL EXCEPTION: main
In earlier versions, the folder containing the .txt files were named "Diary", but now it is named "Tagebuch" (in German). This causes all previous entries to not be accessible anymore (and a short heart attack ;-)
Copying the files over fixes this, but maybe localizing the folder name is a little fragile.
What do you think?
Recently I lost a lot of typed text from today diary entry.
I edited, then shared few links then edited again.
After hour or two I tried to update text and it had only few lines from before I shared links.
I was in markdown mode.
I don't think this app was initially thought with privacy in mind as daily notes are stored in plaintext and in a public path. I guess this can be useful if the user wants to migrate, store/save the diary to other system. However, this requires the storage permission and the notes are accessible by any other app with storage access and easily accessible through any file editor. This for me doesn't work as a diary should be personal and private.
A simple improvement could be to write the diary in the app's internal storage, which would remove the need for the storage permission, but at the same time increase the difficulty for common users to access the notes for migration/backup. So, this would require a mechanism for backup and restore. The problem would be that users with rooted phones would have the same problem, that is, the notes in plaintext would still be easily accessible.
In my view, the best solution would be to (optionally) add encryption to the daily notes, decryptable by a password, which is prompted when the user opens the app. This would still require the backup and restore mechanism, possibly with the option to do either in plaintext or cyphertext. The burden with this solution is the computation cost of decrypting the entries, which could be large fir a big number of entries. To solve this, maybe we could decrypt the current month's entries, and in case the user navigates to other months he is prompted for the password again (so that we don't store the password).
Well, let me know what you think about this. I will try to help with the implementation, in case you are interested.
Allowing full filename path to be customized with date tokens would allow users make this App a companion to other Diary systems they use (as long as it's clear text/markdown). This is a must for users that want to maintain their diary from both PC and Mobile.
Users of vimwiki, for example, will change the path from the current default of:
Diary/%Y/%m/%d.txt
to something like:
vimwiki/diary/%Y-%m-%d.wiki
Users of other systems can choose another pattern that works for them.
Let's say I have text in diary entry:
... in continuation of [Sunday](./11.txt) events ...
The word "Sunday" becomes highlighted as link, but tap on this link does not lead to expected result. Linked file is displayed, but:
Hi,
the new version 1.02 which has been released on F-Droid yesterday, requires the permission to read the phone status and identity. This is a change which is not here in the repository nor mentioned in the changelog.
Diary (Personal diary or journal) - https://f-droid.org/app/org.billthefarmer.diary
Could it be that something fishy is going on with that version or am I missing something?
Greetings
Jaller
So I just installed this apo via F-droid after burning out my eyes one time too many times with Google Keep when taking a quick note after midnight.
I figured the custom markdown styles would let me simply add some css to make the app dark. It almost worked!
The only thing is: the editor remains a bright white! Which I suppose is good: a bad css theme shouldn't make the interface unusable.
Still, adding a simple dark theme (just invert the current one to white text on black background, really) would make this so much nicer to use at night.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.