hyperlist 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 134e2668f610e62a6235ba3ca1a629237321a62b175454cf7b26d1f365e2a2e5
4
+ data.tar.gz: 1c82ce134d1ce3a91ced0cd0e041c7285721530cd7bd7c802d59b3a850b9a1d2
5
+ SHA512:
6
+ metadata.gz: 60af0235c69750163718233ced6d74436fa3fbf5716ca2cfcc38f8c80bea242193131fe266b1aebaf47c9c95b517df881b0da443cc0a8f7d93c7af74f85cafa7
7
+ data.tar.gz: dd9f54b1f74513e947f5d9b89a72ff2abe1ccab6af3d4f1c5b607b6e366806b6fd4aca7b3c612b8f469d0bd57c023f1a7b53769f0befa8453575b46f70d84042
data/CHANGELOG.md ADDED
@@ -0,0 +1,52 @@
1
+ # Changelog
2
+
3
+ All notable changes to the HyperList Ruby TUI will be documented in this file.
4
+
5
+ ## [1.0.0] - 2025-08-12
6
+
7
+ ### Initial Release
8
+
9
+ #### Features
10
+ - Full HyperList syntax support with color highlighting
11
+ - Hierarchical list management with unlimited nesting
12
+ - Advanced folding system with multi-level support
13
+ - Powerful navigation including marks, jumps, and references
14
+ - Complete editing capabilities (insert, delete, move, copy, paste)
15
+ - Multiple checkbox types with completion tracking
16
+ - Template system with marker navigation
17
+ - Presentation mode for focused viewing
18
+ - Search functionality with highlighting
19
+ - Undo/redo support with repeat last action
20
+ - Split view for working with multiple lists
21
+ - Autosave functionality with configurable intervals
22
+ - Recent files list
23
+
24
+ #### Export Formats
25
+ - HTML with full syntax highlighting and responsive design
26
+ - Markdown (GitHub-flavored)
27
+ - Plain text
28
+ - PNG graph visualization (requires Graphviz)
29
+
30
+ #### Text Formatting
31
+ - Bold (*text*)
32
+ - Italic (/text/)
33
+ - Underline (_text_)
34
+ - References (<reference>)
35
+ - Hash tags (#tag)
36
+ - Comments (; comment)
37
+ - Date/time support
38
+
39
+ #### Keyboard Shortcuts
40
+ - Comprehensive vim-like key bindings
41
+ - Help system with full documentation
42
+ - Customizable through command mode
43
+
44
+ #### File Support
45
+ - Native .hl HyperList files
46
+ - Any text file can be edited as HyperList
47
+ - UTF-8 support with unicode and emoji
48
+
49
+ ### Technical
50
+ - Built with Ruby 3.0+
51
+ - Uses rcurses for terminal UI
52
+ - Public Domain license
data/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ This is free and unencumbered software released into the public domain.
2
+
3
+ Anyone is free to copy, modify, publish, use, compile, sell, or
4
+ distribute this software, either in source code form or as a compiled
5
+ binary, for any purpose, commercial or non-commercial, and by any
6
+ means.
7
+
8
+ In jurisdictions that recognize copyright laws, the author or authors
9
+ of this software dedicate any and all copyright interest in the
10
+ software to the public domain. We make this dedication for the benefit
11
+ of the public at large and to the detriment of our heirs and
12
+ successors. We intend this dedication to be an overt act of
13
+ relinquishment in perpetuity of all present and future rights to this
14
+ software under copyright law.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
23
+
24
+ For more information, please refer to <https://unlicense.org>
data/README.md ADDED
@@ -0,0 +1,216 @@
1
+ # HyperList Ruby TUI
2
+
3
+ A powerful Terminal User Interface (TUI) application for creating, editing, and managing HyperLists - a methodology for describing anything in a hierarchical, structured format.
4
+
5
+ ## What is HyperList?
6
+
7
+ HyperList is a universal methodology for describing anything - any state, item, pattern, action, process, transition, program, instruction set, etc. It can be used as an outliner, a todo list handler, a process design tool, a data modeler, or any other way you want to describe something.
8
+
9
+ Learn more about the HyperList methodology at: [https://isene.org/hyperlist/](https://isene.org/hyperlist/)
10
+
11
+ For historical context and the original VIM implementation, see: [hyperlist.vim](https://github.com/isene/hyperlist.vim)
12
+
13
+ ## Features
14
+
15
+ ### Core Functionality
16
+ - **Hierarchical Organization**: Create multi-level nested lists with unlimited depth
17
+ - **Rich Syntax Highlighting**: Color-coded elements for better readability
18
+ - Properties and dates in red
19
+ - Operators (AND, OR, IF, THEN) in blue
20
+ - Checkboxes in various shades of green
21
+ - References in magenta
22
+ - Hash tags in yellow/orange
23
+ - Comments in cyan
24
+ - **Advanced Folding**: Collapse and expand sections with multiple fold levels
25
+ - **Powerful Navigation**: Jump between items, references, and markers
26
+ - **Full Editing Capabilities**: Create, edit, delete, move, and reorganize items
27
+ - **Checkbox Support**: Multiple checkbox types with completion tracking
28
+ - **Template System**: Jump to and fill in template markers
29
+ - **Presentation Mode**: Focus on current item and ancestors only
30
+
31
+ ### Text Formatting
32
+ - **Bold**: `*text*`
33
+ - **Italic**: `/text/`
34
+ - **Underline**: `_text_`
35
+ - **References**: `<reference name>` or `<file:/path/to/file>`
36
+ - **Hash tags**: `#tag`
37
+ - **Comments**: `; comment text`
38
+ - **Dates**: `2025-08-12` or `2025-08-12 14:30`
39
+
40
+ ### Export Formats
41
+ - **HTML**: Full-featured HTML with syntax highlighting
42
+ - **Markdown**: GitHub-flavored Markdown
43
+ - **Plain Text**: Clean text output
44
+ - **PNG Graph**: Visual representation using Graphviz
45
+
46
+ ### File Operations
47
+ - Multiple file support with recent files list
48
+ - Autosave functionality with configurable intervals
49
+ - Split view for working with multiple lists
50
+
51
+ ## Installation
52
+
53
+ ### Prerequisites
54
+ - Ruby 3.0 or higher
55
+ - rcurses gem: `gem install rcurses`
56
+ - Optional: Graphviz for PNG export (`apt-get install graphviz` or `brew install graphviz`)
57
+
58
+ ### Install from RubyGems
59
+ ```bash
60
+ gem install hyperlist
61
+ ```
62
+
63
+ ### Install from Source
64
+ ```bash
65
+ git clone https://github.com/isene/HyperList.git
66
+ cd HyperList
67
+ chmod +x hyperlist
68
+ ./hyperlist
69
+ ```
70
+
71
+ ## Usage
72
+
73
+ ### Basic Usage
74
+ ```bash
75
+ hyperlist # Start with empty document
76
+ hyperlist file.hl # Open existing HyperList file
77
+ hyperlist file.txt # Open any text file
78
+ ```
79
+
80
+ ### Key Bindings
81
+
82
+ #### Navigation
83
+ - `j/↓` - Move down
84
+ - `k/↑` - Move up
85
+ - `h` - Go to parent item
86
+ - `l` - Go to first child
87
+ - `g/Home` - Go to top
88
+ - `G/End` - Go to bottom
89
+ - `/` - Search
90
+ - `n` - Next search match
91
+ - `N` - Next template marker (=)
92
+
93
+ #### Editing
94
+ - `i/Enter` - Edit line
95
+ - `o` - Insert line below
96
+ - `O` - Insert line above
97
+ - `a` - Insert child item
98
+ - `D` - Delete and yank line
99
+ - `C-D` - Delete and yank item with descendants
100
+ - `y/Y` - Copy line/tree
101
+ - `p` - Paste
102
+
103
+ #### Folding
104
+ - `Space` - Toggle fold
105
+ - `za` - Toggle all folds
106
+ - `1-9` - Expand to level
107
+ - `0` - Multi-digit fold level
108
+
109
+ #### Features
110
+ - `v` - Toggle checkbox
111
+ - `V` - Toggle checkbox with timestamp
112
+ - `R` - Go to reference
113
+ - `F` - Open file reference
114
+ - `P` - Presentation mode
115
+ - `?` - Help screen
116
+
117
+ #### File Commands
118
+ - `:w` - Save
119
+ - `:q` - Quit
120
+ - `:wq` - Save and quit
121
+ - `:e file` - Open file
122
+ - `:export html` - Export to HTML
123
+ - `:export md` - Export to Markdown
124
+ - `:graph` - Export to PNG
125
+
126
+ ## Examples
127
+
128
+ ### Simple Todo List
129
+ ```
130
+ Daily Tasks
131
+ [ ] Morning review
132
+ [ ] Check emails
133
+ [ ] Review calendar
134
+ [ ] Development work
135
+ [ ] Fix bug #123
136
+ [ ] Code review
137
+ [X] Lunch break
138
+ [ ] Afternoon tasks
139
+ ```
140
+
141
+ ### Project Structure
142
+ ```
143
+ MyProject #project
144
+ Planning Phase
145
+ [X] Define objectives
146
+ [O] Identify stakeholders
147
+ [ ] Create timeline
148
+ Implementation
149
+ Backend Development
150
+ Authentication module
151
+ Database schema
152
+ REST endpoints
153
+ Frontend Development
154
+ Login page
155
+ Dashboard
156
+ Documentation
157
+ Technical docs
158
+ User manual
159
+ ```
160
+
161
+ ### Meeting Notes with References
162
+ ```
163
+ Team Meeting 2025-08-12 14:00
164
+ Participants
165
+ John (PM)
166
+ Sarah (Dev)
167
+ Mike (Design)
168
+ Discussion Points
169
+ Sprint planning <Sprint-23>
170
+ Bug review <file:./bugs.hl>
171
+ Design updates
172
+ ; Mike will share mockups
173
+ Action Items
174
+ [ ] John: Update roadmap
175
+ [ ] Sarah: Fix critical bugs
176
+ [ ] Mike: Finalize designs
177
+ ```
178
+
179
+ ## Configuration
180
+
181
+ The application stores configuration in `~/.hyperlist/`:
182
+ - `recent_files.txt` - List of recently opened files
183
+ - `marks.yml` - Saved marks across sessions
184
+
185
+ ## Testing
186
+
187
+ Run the included test suite:
188
+ ```bash
189
+ ./hyperlist test.hl
190
+ ```
191
+
192
+ Follow the instructions in the test file to verify all features are working correctly.
193
+
194
+ ## Contributing
195
+
196
+ Contributions are welcome! Please feel free to submit issues and pull requests.
197
+
198
+ ## License
199
+
200
+ This software is released into the **Public Domain**.
201
+
202
+ ## Author
203
+
204
+ Created by Geir Isene - [https://isene.org](https://isene.org)
205
+
206
+ Based on the HyperList methodology and inspired by the original hyperlist.vim plugin.
207
+
208
+ ## Acknowledgments
209
+
210
+ - The rcurses library for excellent terminal UI capabilities
211
+ - The Ruby community for a wonderful programming language
212
+ - All contributors and users of HyperList
213
+
214
+ ---
215
+
216
+ For more information about HyperList, visit [https://isene.org/hyperlist/](https://isene.org/hyperlist/)