Commit Graph

50 Commits

Author SHA1 Message Date
Bryan Ashby ea39811ff6 Fix up some font switching logic 2017-09-02 09:59:38 -06:00
Bryan Ashby 019596d709 Convert to using graceful-fs vs vanilla fs module 2017-05-19 21:20:19 -06:00
Bryan Ashby 54a7f4f774 * Lots of improvements to info extraction system
* MUCH faster browsing in file base
* Better release year estimation
* New tool: exiftool2desc
2017-05-19 18:41:13 -06:00
Bryan Ashby 50a5b8d78e Use proper resetScreen() vs clearScreen() 2017-02-12 00:23:39 -07:00
Bryan Ashby f0db0e3c94 * file.db: file_user_rating: Table for tracking average user rating of a file
* Default filter order to descending
* File rating support including in search/filter
* Default to passing submitted form data (if any) @ prevMenu()
* Fix issues with byte/size formatting for 0
* Allow action keys for prompts
* use MenuModule.pausePrompt() in various places
* Add quick search to file area
* Display dupes, if any @ upload
2017-02-07 20:20:10 -07:00
Bryan Ashby 92772eb1a9 * Added ability to serve static files from web server
* Web server can have custom error pages, e.g. 404.html
* "file_area" stuff -> "file_base"
* Fix some rare bugs in theme/art loading
* Adjust tab order dynamically for file upload details
2017-02-04 09:20:36 -07:00
Bryan Ashby 12d4c158c4 * ENiGMA now require Node.js 6.x LTS+
* Bump version to 0.0.4-alpha
* Update package dependencies
* Use modified node-buffers that does not use deprecated Array.get()
* Update lodash dependency to 4.x & convert to new methods/etc.
* Better 'noHistory' support for menu stack
* Fix bug in download queue init
* Misc code cleanup
2017-01-28 12:33:06 -07:00
Bryan Ashby e7ba6c406e * Introduce MCI cache: Art files are hashed and MCI info (per client) is cached. Term resizes invalidate the cache
* Bring in farmhash for art file hashing (and perhaps other uses soon)
* Re-write of art.js display(). Better system, use MCI cache, etc.
* Update package.json engines node req.
2016-08-31 22:06:28 -06:00
Bryan Ashby 33f0553ea9 Use sane switch style :) 2016-08-03 22:43:06 -06:00
Bryan Ashby 9e573e6810 * Allow relative or absolute paths in for art
* Misc cleanup
2016-07-04 12:58:41 -06:00
Bryan Ashby dec78e942d * Reworked FTN packet I/O (WIP)
* Detect FTN packet 2, 2.2, and 2+
* Various FTN utils (MSGID, Origin, PID, generation etc)
* More work on message network readyness
2016-02-09 22:30:59 -07:00
Bryan Ashby 317af8419a Major commit for new message network WIP 2016-02-02 21:35:59 -07:00
Bryan Ashby e8a729cebd Remove break me nonsense 😁 2016-01-22 22:16:25 -07:00
Bryan Ashby 12414d0d7a Fix some bugs with merging when no explicit form defined 2016-01-16 19:04:17 -07:00
Bryan Ashby 4fdd3dbbfe MAJOR CHANGE to theming system:
* Less complex
* Themes are only loaded once. Users share avail themes[] objects
* Themes are applied to configuration _once_
* Users can switch themes in configuration
* Other related improvements
2016-01-14 22:44:33 -07:00
Bryan Ashby eca82b66d4 Better loading of themes & getAvailThemes() 2015-12-24 11:56:04 -07:00
Bryan Ashby 46088a9f02 * Update to encode()/decode() direct calls for iconv-lite
* Overrite font (to not use!) when showing pause prompts - they should use the current set by menu/art
2015-11-01 13:32:52 -07:00
Bryan Ashby 73952a2c37 * Minor work on themes + FSE 2015-10-06 15:22:49 -06:00
Bryan Ashby a3e37293f4 * WIP on customization of .config blocks
* getThemeArt() updated with new fallback mechanism (theme -> default theme -> art generic)
2015-09-27 22:05:40 -06:00
Bryan Ashby 05812f57f0 * Trailing LF handling is now 'trailingLF' option, with 'default', 'yes', 'no', etc.
* Initial checking of WIP Mystery Skulls theme by Luciano Ayres of blocktronics
* Fix random theme selection
* WIP on theme customization apply: Needs to be much more flexible than current
* MenuModule will use .next > .fallback > default fallback
2015-09-27 15:35:24 -06:00
Bryan Ashby 870e5a9136 * Update modules
* Remove lingering strip-json-comments
2015-09-10 13:38:36 -06:00
Bryan Ashby 481c3171f4 * JSONCache -> ConfigCache
* ConfigCache used for theme.hjson
* Reformatted theme.hjson JSON to HJSON
* Specific form ID used when applying themes if available, else generic match used
* Pass extraArgs when processing 'next'
2015-09-09 21:31:04 -06:00
Bryan Ashby ca4b99a83e * Convert all JSON configurations (*.json) to HJSON (*.hjson) which is much more flexible for a human readable and editable configuration format
* WIP "next" vs "action" changes
* options.cls is now defaulted in config.js/config.hjson (default = true)
* Notes/etc.
2015-09-08 22:08:45 -06:00
Bryan Ashby 8b3b36fd83 * Add dateTimeFormat 2015-09-01 22:42:54 -06:00
Bryan Ashby 44a0f87a24 + stats.js: public APIs for accessing various system stats. Probably needs a better name
* Fix pause placement. Wait for all views ready before placing cursor such that the prompt will display in the right spot
2015-07-28 22:31:28 -06:00
Bryan Ashby 542327460b * Last callers module WIP 2015-07-26 00:20:07 -06:00
Bryan Ashby 35a99b7e3e * Fix short timeFormat
* Pause prompts now support MCI codes using View Controller
* View Controller 'noInput' option for read-only/viewable but no interaction
* Ability to omit final trailing CRLF's in ANSI's
* Move asset.displayArtAsset -> theme.displayThemedAsset
2015-07-25 16:10:12 -06:00
Bryan Ashby dd478ed6ba * displayArtAsset is now part of asset
* Work on generalizing some things so they can be used for pause/etc.
2015-07-24 18:33:59 -06:00
Bryan Ashby 8b5152d66f * WIP pause prompt
* prompt.json::prompts::pause is now a standard/required prompt
* CT for current time MCI
* Fix up config/theme defaults.dateTimeFormat -> dateFormat & timeFormat
2015-07-23 22:23:44 -06:00
Bryan Ashby 4288c5b2e9 * A few fixes to standard MCI codes
* Load user groups properly
* Configurable/themeable date time formats
2015-07-22 21:35:35 -06:00
Bryan Ashby 89adc83fc6 * JSONCache for caching JSON data (vs reading + parsing every time)
* Minor changes
2015-07-19 21:49:48 -06:00
Bryan Ashby 3d5d21bcb5 * Lots of WIP on FSE demo
* WIP emit position from MutliLineEditTextView
* ansi.rawWrite() when no iconv/lfs to be processed
2015-07-05 19:05:55 -06:00
Bryan Ashby 32fdbab88d * Very very early work on FSE module 2015-06-25 22:34:33 -06:00
Bryan Ashby b759975742 * Some minor tweaks. Nothing major right now 2015-06-08 22:41:57 -06:00
Bryan Ashby 34bf823f1f * Some solid progress on themeing / customization via theme.json 2015-05-13 22:21:55 -06:00
Bryan Ashby 2aa43295e3 * Start on new theme re-work
* theme_info.json -> theme.json
* Allow pipe codes for styleSGRx
2015-05-12 23:04:22 -06:00
Bryan Ashby 5ab89f952f * New @systemMethod 2015-04-20 23:24:15 -06:00
Bryan Ashby ec5f1836c5 * clearScreen -> cls for nostalgia
* module cleanup: some simple modules moved to general_menu_method.js @methods
* More work on menu configuration & options
- Removed formatting of args for now. Too tied to MCI, not really needed with argName stuff
2015-04-20 22:50:58 -06:00
Bryan Ashby bac2f63c1a * Tons of work with menu/prompts refactoring -- more to come soon
* More work with menu/prompt accets
2015-04-19 02:13:13 -06:00
Bryan Ashby 5faa11664b * Lots of work with fonts: Support mappings of various cterm/SyncTERM fonts.
* Load font info from SAUCE
* Better work with defaults & theme values
2015-04-16 22:29:53 -06:00
Bryan Ashby 586f3d60b3 * ButtonView is now MCI BT. BN is pre-defined "Board Name"
* Client current theme info loaded & used for e.g. passwordChar
* Code cleanup
2015-04-15 22:46:45 -06:00
Bryan Ashby 113e16df0d * Allow passing of arguments to menu's via menu.json including formatted parameters
* Fix menu.json setting of focus on view
2015-04-04 14:41:04 -06:00
Bryan Ashby d1b0663b5d * Some basic work on connecting modules 2015-03-23 23:12:19 -06:00
Bryan Ashby 008e9f46d8 * Fix colors in relation to MCI codes
* iCE colors working, I think...
2014-11-12 23:16:47 -07:00
Bryan Ashby 7bac1b5193 + Start of iCE color support... ish.
* Initial NU-MAYA theme matrix
2014-11-09 21:24:09 -07:00
Bryan Ashby f2388ceed1 * Various cleanup + utility methods 2014-11-04 23:50:42 -07:00
Bryan Ashby c3aa4c44e2 + Start work on MenuView & friends
* connect.js no longer a module. Part of initial connection always
* Cleaner & expandable BBS init
* Better theme handling
2014-10-30 22:59:21 -06:00
Bryan 14a321de2f * Work on themes. Ability to use ANSI to detect screen size if NAWS/etc. fail 2014-10-29 05:30:20 -06:00
NuSkooler 1ef9a4a1ce * Code cleanup. WIP theme stuff. Better CPR handling, etc. 2014-10-29 22:23:44 -06:00
NuSkooler 8119c1688a + Very start of theme support. Various changes 2014-10-26 22:06:41 -06:00