Comments (2)
This Stackoverflow question has some discussion about Java HTML rendering libraries that might be useful:
http://stackoverflow.com/questions/2438201/pure-java-html-viewer-renderer
The Flying Saucer library is recommended there, among others. Might be worth trying out with some simple HTML containing different fonts, headings, links (are they clickable with events back to our code?), and text colors.
http://code.google.com/p/flying-saucer/
https://github.com/flyingsaucerproject/flyingsaucer
from clj-ns-browser.
Flying saucer looks interesting, but seems not to be under active development any more, and so bug fixes or enhancements would have to be done by us. Not desirable.
Frank mentioned JavaFX to me. http://javafx.com It definitely appears to be under active development and looks to be full-featured. The only downside I can think of is that it seems like it might require JDK 1.7 or higher, and isn't there for Linux yet. Maybe also a bit bleeding edge.
Another possibility is to rely more on the user's web browser, e.g. Firefox, Safari, Chrome, IE. One issue is that if the clj-ns-browser has the window it does now, and we use the web browser, effective interaction will require seeing both of those windows at once on the screen, plus perhaps the user's REPL session.
Here I'll toss out a probably crazy idea: The user starts up the browser in their REPL session. This starts up a little web server in that JVM process intended only for serving requests that come from the user's local web browser, e.g. Firefox. All of what is now the clj-ns-browser's interface is then somehow implemented between this server and the web browser. Big down sides: Effectively a rewrite of clj-ns-browser to get back up to today's functionality. Couldn't use Seesaw, and have to learn web server/browser ways of building such an interface. Potentially compatibility issues dealing with different web browsers. Up sides? Can take advantage of many features in modern browsers for display and interaction. Links to outside web pages are trivially made clickable.
from clj-ns-browser.
Related Issues (20)
- some symbols have inconsistent type and value HOT 4
- Doc and Source view would be useful together HOT 8
- Name "Clojure Namespace Browser" sucks... HOT 4
- syntax highlighting for clojure code HOT 2
- basic trammel integration
- Add "Search source also" option
- Use ns-tracker for dynamic/real-time update HOT 2
- font changes back to default when size is changed (zoom in/out)
- use tooltips to add additional help/explanations about buttons/panel-content/color
- results of Browse button are tiny and unreadable HOT 9
- Currently no way to quit. Add "File --> Quit" menu item
- Add newlines to doc textarea
- Doc for *ns* appears to be incorrect HOT 1
- "Sorry... cannot close/hide last browser window." HOT 8
- syntax coloring not in effect when selecting more than 1 button; and another bug HOT 1
- NoSuchMethodError when trying to use HOT 1
- ClassNotFoundException java.awt.Window$Type java.net.URLClassLoader$1.run HOT 3
- QUESTION: How do you use this to browse the Clojure-language source code base? HOT 2
- AOT compilation in jar causes issues HOT 1
- Tried to use insecure HTTP repository without TLS HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clj-ns-browser.