xuehuichao / freemind-latex Goto Github PK
View Code? Open in Web Editor NEWWrite slides with mindmap.
License: Apache License 2.0
Write slides with mindmap.
License: Apache License 2.0
Right now we still see some error messages from evince. This isn't very helpful for users. Consider burrying it up.
INFO: MainThread Exiting freemindlatex ...
Traceback (most recent call last):
File "/Users/huxue/Library/Python/2.7/lib/python/site-packages/freemindlatex/run_app.py", line 199, in <module>
app.run()
File "/Users/huxue/Library/Python/2.7/lib/python/site-packages/google/apputils/app.py", line 238, in run
return _actual_start()
File "/Users/huxue/Library/Python/2.7/lib/python/site-packages/google/apputils/app.py", line 267, in _actual_start
really_start()
File "/Users/huxue/Library/Python/2.7/lib/python/site-packages/google/apputils/app.py", line 220, in really_start
sys.exit(main(argv))
File "/Users/huxue/Library/Python/2.7/lib/python/site-packages/freemindlatex/run_app.py", line 190, in main
RunEditingEnvironment(directory, server_address=gflags.FLAGS.using_server)
File "/Users/huxue/Library/Python/2.7/lib/python/site-packages/freemindlatex/run_app.py", line 136, in RunEditingEnvironment
latex_client.CompileDir(directory)
File "/Users/huxue/Library/Python/2.7/lib/python/site-packages/freemindlatex/compilation_client_lib.py", line 96, in CompileDir
response = self._compilation_stub.CompilePackage(compilation_request)
File "/Users/huxue/Library/Python/2.7/lib/python/site-packages/grpc/_channel.py", line 507, in __call__
return _end_unary_response_blocking(state, call, False, deadline)
File "/Users/huxue/Library/Python/2.7/lib/python/site-packages/grpc/_channel.py", line 455, in _end_unary_response_blocking
raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.UNAVAILABLE, Endpoint read failed)>
Currently freemind's code is included. This is not necessary. Remove it, while still keeping pip install to work.
Right now when latex fails, we still have to go to logs for debugging. If we can replace the frame with the error message, it would be much nicer.
Right now we still have to run the manual command for releasing to pypi. We can automate this with travis, I suppose. Then I can just focus on the development.
The current template settings is a little boring. We should allow customized templates.
It is supposed to show up somewhere in tmp. Having it show up in the same place every time cause copying to fail.
Right now the lists, layers etc. are very hard to learn for beginners. We should simplify the grammar, and make a manual that looks super intuitive to learn.
Right now installation of this software isn't easy -- download a specific freemind, installing inotify and latex, cjk etc. Pack them into one shell script, so that running it will install the tool on any ubuntu machine.
Right now we have init and compile which are probably not the options people need. Eliminate them.
Right now still need to clone it. Should make it easier to run pip install.
Testing at every release.
Right now it lingers on many incorrect file contents. This way users can't see anything change in the PDF document, and it is very hard to debug.
In the user's directory, put an Latex error file, so people can debug what's going on.
Right now installing all the dependencies, including python libraries, latex, and its dependencies is not very easy, and not uniform across platforms. Also people might be reluctant to install all the dependencies just for trying this software. Building a docker server for latex can make it easier. Users will only need to install docker, and then a simple command. Or they can just use my server.
The rpc interface basically takes a zipped file, and responds with either a PDF file, or some error messages.
Freemind spews too many logs onto the console. This doesn't look nice. Hide it.
The current installation only supports installing the script itself, not the freemind software. Make that part of the installation happen during the first run of our script.
Right now we have to bring up freemind, pdf reader, inotify separately. I'll have to remember the commands, bring up and tear down every thing in the right order. Build a wrapper for the whole environment that keep these setups in sync.
Currently the freemind needs to be downloaded and unzipped by the user. This is no longer compatible with the pip install way of installing freemindlatex. Modify the script to download and install it the first time we run the program.
They will be translated into some question mark and inverted question marks in the results.
Creating diagrams right now isn't easy. Being able to include google docs drawings will solve the problem. Freemind button => new Google drawing documents. During each compilation, the script will update the drawing.
Right now the script may quit during conversion errors. For example:
INFO: MainThread Exiting freemindlatex ...
Traceback (most recent call last):
File "/usr/local/google/home/xuehuichao/.local/bin/freemindlatex", line 11, in <module>
sys.exit(main())
File "/usr/local/google/home/xuehuichao/.local/lib/python2.7/site-packages/freemindlatex/__main__.py", line 377, in main
RunEditingEnvironment(cwd)
File "/usr/local/google/home/xuehuichao/.local/lib/python2.7/site-packages/freemindlatex/__main__.py", line 345, in RunEditingEnvironment
CompileDir(directory)
File "/usr/local/google/home/xuehuichao/.local/lib/python2.7/site-packages/freemindlatex/__main__.py", line 259, in CompileDir
result = _CompileInWorkingDirectory(work_dir)
File "/usr/local/google/home/xuehuichao/.local/lib/python2.7/site-packages/freemindlatex/__main__.py", line 208, in _CompileInWorkingDirectory
'utf8').read())
File "/usr/local/google/home/xuehuichao/.local/lib/python2.7/site-packages/freemindlatex/convert.py", line 345, in __init__
dom = minidom.parseString(mm_file_content)
File "/usr/lib/python2.7/xml/dom/minidom.py", line 1928, in parseString
return expatbuilder.parseString(string)
File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 940, in parseString
return builder.parseString(string)
File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 223, in parseString
parser.Parse(string, True)
xml.parsers.expat.ExpatError: no element found: line 1, column 0
In this case, evince will quit. We should keep going in this case, and possibly produce errors to the compiled pages.
Right now inotify is setup to monitor a set of files beforehand. When I have multiple tabs open, the file that I care about may not be recompiled automatically. Add a plugin into freemind to monitor tab, and keep inotify in sync.
Log says:
ERROR: Couldn't find freemind under '/Users/xuehuichao/Library/Python/2.7/lib/python/site-packages/freemindlatex/../../../../share/freemindlatex/freemind'.
Looks like the jar file is missing.
Currently everything lives in the same directory. We're basically assuming there's only one document being edited. We may let the main program stay in this directory, while opening other documents with a command line, creating a new document by copying the example over.
I'll test this by a script which runs an installation script, then creating a doc, and then compile it.
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.