New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support multiple lines for entry summaries #51
Comments
How would alignment of text be handled? Eg. must any additional lines start at the same column as the first summary line? The tab character is allowed as indentation, which does not go well with aligning text.
|
Good points, thanks for sharing. I haven’t thought it through entirely, but I’d intuitively say to keep the rules simple:
So I’d say all of this is okay:
None of this is okay:
|
Great examples! Should this also be okay, in your opinion?
|
I’d say so, yes. It’s also fine (right now) to do this:
|
What would the JSON output look like? Specifically, will leading and trailing whitespace be included per line? |
Very good question. And I think it would be good to write that down in the specification even. My intuition would be to disregard leading whitespace, but I haven’t really thought about it yet. |
I have thought about this some more, and to me it would be most simple to preserve leading whitespace and treat it as part of the copy. So basically, everything after the indentation whitespace is owned by the user. Considering this example again:
The entry summary would be:
That’s because indentation style is 4 spaces, so 2*4=8 spaces are removed from the second line. If we’d just cut off all leading whitespace, then the following use-case could become a problem:
|
In regards to the JSON output, it would be possible to change the structure from this:
to this:
Not sure that would be useful, I don’t have strong opinions here. |
What I’m still undecided on is how to define the second indentation level exactly. Most simple would be to say that the second level is twice the first, e.g. 2 spaces → 4 spaces, 3 spaces → 6 spaces. That makes the following use-case inconvenient, though:
When using 4 spaces as indentation, the second level must start at column 8. In the example above, the user might want to start at column 7, though, to align with the previous line. So for flexibility, the second indentation level could just be defined like “one indentation plus one tab or 2 (3?) spaces”. Which would imply that the indentation style must only be consistent throughout the first indentation level. Just 1 additional space would feel weird to me, so I think it should be at least 2, maybe even 3 (since the narrowest entry is 2 characters plus one space, e.g. |
This would be a great feature! I was using klog since last year, but really struggled with the habit of capture tasks and events a posteriori, so I abandoned it. Then I read this two strategies by Scott Nesbitt and Jeff Huang and immediatly return to klog with a little repourpose. So my actual workflow is a both prospective and retrospective time based version of those techniques. I'm sharing it here hoping that my use case makes sense (if this comment is considered out of place I can move it to another issue). I do a tasks and events review every morning by creating a record and a summary with one line per item: 2022-01-24
Do A
Meeting with #JohnDoe
Review X Then I try to timeblock each item and correct/adapt as the day goes: 2022-01-24
9:00 - 10:00 Do A
10:00 - 11:00 Meeting with #JohnDoe | this is something I'd like to remember later
11:30 - 12:00 Review X If I have an idea or a comment, I simply append the text separated by a pipe, BUT it could get really messy, so multiple line summaries in entries would make the file format so much readable. By the end of the day I do a little refactor of the record, adjust some times and run the report by tag. This is my reflection stage. Since this is a plain text format I can filter ideas, comments and stuff from the file as necessary. I know that klog's goal is not time blocking but I honestly see this potential in the format and it really helped me to keep recording my activities consistently. Even I'm considering to connect this file to the Google Calendar API to share my schedule with my team. Thanks for the tool mate! |
Cool workflow, thanks for sharing! I’m also regularly running into cases where I miss the ability to break entry summaries. I’ve been doing some refactorings in the klog parser last year already, to prepare for multiline entry summaries. I’m hoping to wrap it up soon and include that functionality in the next release after v3.3. (Likely within the next two months.) |
In record summaries (the text directly underneath the date) you can write multiple lines, but in entry summaries (the text behind the time values) you are restricted to a single line.
klog should support multiple lines for the entry summaries as well, by making use of the indentation. That allows for more flexibility.
As an example:
This requires a change of the spec, though, so I want to wait until v1.0 of the file format is finalised.
This issue came out of #50
The text was updated successfully, but these errors were encountered: