Commit Graph

60 Commits

Author SHA1 Message Date
Bryan Ashby 851da9e8c8 Do not require MCI configurations in theme.hjson for theme.hjson to apply #167 2018-06-25 18:09:32 -06:00
Bryan Ashby 1d8be6b014 Pardon the noise. More tab to space conversion! 2018-06-22 21:26:46 -06:00
Bryan Ashby e9787cee3e ENiGMA 1/2 WILL USE SPACES FROM THIS POINT ON VS TABS
* Really just to make GitHub formatting happy. Arg.
2018-06-21 23:15:04 -06:00
Bryan Ashby 1fe46894d3 More Hot-Reload related changes
* Config.get(): Returns the latest config
* Update code all over the place to use Config.get() vs Config.conf (which will be deprecated)
2018-06-20 19:57:06 -06:00
Bryan Ashby 4aab8224ed Initial version of hot-reload of config, menus, and prompts
* Themes use ES6 Map vs object{}
* Re-write and re-enable config cache using sane
* Events sent for config, prompt, or menu changes
* Event sent for theme changes
* Theme (or parent menu/prompt) changes cause re-merge and updates to connected clients
2018-06-13 21:02:00 -06:00
Bryan Ashby b6bda7f45f much cleaner code 2018-01-26 21:38:50 -07:00
Bryan Ashby 78ca1e9c4f * Ensure explicit by-MCI key forms are properly themed, e.g. form: { 3: { HM1: { ... }}} 2018-01-15 21:06:16 -07:00
Bryan Ashby ac1433e84b * Code cleanup and eslint since -- remove unused variables, clean up RegExs, so on... 2018-01-15 12:22:11 -07:00
Bryan Ashby 68da131b1b Fix waterfall error 2017-09-24 09:58:43 -06:00
Bryan Ashby b1b841674c Ability to disabled themes + clean up theme code slightly. Area needs work! 2017-09-04 09:57:10 -06:00
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