📜 ⬆️ ⬇️

InfoTerminal for DokuWiki

InfoTerminal for DokuWiki is an alternative interface for a popular and easy wiki. In combination with DokuWiki, this can be called an information terminal management system.

Logo
Watch (Better in Opera in fullscreen mode)
! Wiki is badly filled - it’s better to start at index "wiki" dokuwiki


How did I come to this


Tired of developing the White IDE , I decided to distract myself and try myself as a developer on my own system to test for usability, add features.
I have long wanted to write an information terminal for reading news (a fat client), but what is quite suitable for a test is simple and beautiful.
Writing interfaces took 2 days of slow work. And then there was a question about the admin ... I really did not want to write the admin or either write it quickly "so that it was something," for example, on CakePHP.
DokuWiki with its data storage structure has come up, no matter how good it is. Yes, and I did not need much: to issue a list of articles and categories, to issue an article for reading. Another half a day was spent digging into the API, writing the server code, screwing the local locale. Then debugging went, to the point where the terminal now is.
')

Few of those. parts


The application is divided into the environment of the application and the presentation of lists and articles. It was necessary to maximally generalize the interface of the application, because it is not usable to overload the terminal with unnecessary buttons. A single user interface entailed a single object interface for data presentation components.
To control the presentation, only 2 buttons scroll up (scrollUp) and scroll down (scrollDown) are used, both for the article and for the list. The scrollXXX methods return an array with the current page and the number of pages.
Data from the server is obtained through a single interface browse () XHR in json format. Consisting of data and a header indicating which object will represent the data + page title and status message. Browse () is wrapped with the simplest cache on hash arrays (cache [page_uri] = json). Further trivia: history, page refresh, home.

Launching a terminal in Opera Kiosk mode


Windows: C:\Program Files\Opera\opera.exe -k -nocontextmenu -nodownload -nokeys -nomaillinks -nomenu -noprint -nosave http:// yourdomain.host/path/to/wiki/terminal
UNIX: opera -k -nocontextmenu -nodownload -nokeys -nomaillinks -nomenu -noprint -nosave http:// yourdomain.host/path/to/wiki/terminal
ac: Applications/Opera.app/Contents/MacOS/Opera -k -nocontextmenu -nodownload -nokeys -nomaillinks -nomenu -noprint -nosave http:// yourdomain.host/path/to/wiki/terminal

! after http: // there is a space so that habr does not eat links in the code
Learn more about Kiosk mode www.opera.com/support/mastering/kiosk

Where to find it

Sharpened specifically under Opera for use in " Kiosk mode ", but also works in other browsers.

! The imgs are broken in the demo

Source: https://habr.com/ru/post/55197/


All Articles