Giter Club home page Giter Club logo

freemind-latex's People

Contributors

xuehuichao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

freemind-latex's Issues

Not assuming that scripts and documents all live in the same directory

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.

Monitor the active tab in freemind

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.

Auto release

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.

Creating Google docs drawings

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.

Simplified grammar

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.

Keep going when there is conversion error.

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.

Make an integrated UI

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.

Exiting when server temporarily stops responding

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)>

Freemind installation the first time we run the script

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.

Make freemind a submodule

Currently freemind's code is included. This is not necessary. Remove it, while still keeping pip install to work.

Unable to launch freemind in MacOSX

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.

Install freemind 1.0.0 during the first run

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.

Create a latex docker server, for easy installation

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.