-
-
Notifications
You must be signed in to change notification settings - Fork 119
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
novelWriter 2 Ideas Thread #798
Comments
This is also an invitation for feedback from users, and the usual suspects like @Number042, @jyhelle, @johnblommers, and others whose feature requests I've linked. There is no definite timeline on this. I will likely take the opportunity to restructure large parts of the code as I've learned a lot about Qt over the last years, and there are numerous improvements to be made in the way I use the Qt library in the code. I still have features to implement in the current iteration of novelWriter, and I want to get the main ones done before I start working on this. This is likely on a 1-2 year time frame. |
Hi, |
It used to have plain text export, but I removed it. You can export to markdown though, which is pretty close.
I will definitely keep it themable. My eyes do a lot better with dark themes, so I depend on it myself.
It is not designed for this, but you can in principle put books in folders under the novel tab. You can either export them all and split the document, or switch off the export tags on the files you want excluded. I've been meaning to add a feature to toggle the flag on many files in bulk, like for instance all files in a folder. I should probably add it to my list of features.
You can add multiple custom folders, but they all use the
That is what the "Novel" tree tab is for. It currently shows the POV character, but I plan to make it selectable. Hiding the panel could be an option to add for sure. Please make a new feature request about it and I'll add it to my queue of things to do.
You're welcome! |
(I apologize for the delay in answering, I have been real busy over the last week.) A lot of your proposed features are on the programming/file structure side, and these I won´t discuss so much as I think the programmer should use the tools and structures she prefers to get the result she wants. I have been a champion of Wordstar's diamond combinations, then moved to Wordperfect, now using Markdown but also capable with WISIWIG tools, so the exact way of inputting the text and getting it the way I want after exportation is something I'll adapt to. Basically, I think your proposed way of evolution doesn't have much impact on what is for me the core of nW, i.e. the multi referencing scheme provided by the tags references and note files. This was important with my first tries of nW, now that I embark on a much much larger project, it becomes of uttermost importance. So, please make nW evolve for the best: faster, better, safer, I'll gladly keep testing and reporting any problem I encounter. |
I admit that I do like the plain text nature of novelWriter. But as a programmer I'm used to working with coded syntax instead of depending on elaborate GUIs to do the things I want. Often, GUIs tend to be more restrictive in that they lock you into a specific way of working. I've written a lot of academic papers and two theses in LaTeX, and I greatly enjoy the flexibility such tools provide and I don't at all mind having to use commands to lay out my text. Add to that the idea that writing the novel and applying formatting and layout should be treated as two separate things, then the current approach to dealing with as plain text as possible is a reasonable philosophy. Especially since the project now can be exported to a proper word processor document which can be formatted in all sorts of presentable ways. My main concern is really all the feature requests that cannot be easily implemented since the editor is not rich text. It is partially why I started on a second editor. I am beginning to lean towards keeping novelWriter plain text and instead build a separate rich text editor in the Collett project. To be fair, I quite enjoy working on it and working in C++ again. It may be a better option than start changing direction of novelWriter. I'm going back in the thinking box on this! |
As long as you're taking ideas for 2.0 ... being able to set up templates - in addition to the 3 samples that come out of the box. |
That is a very good idea. @jyhelle has suggested something similar in the past. I too have a sort of template I use. The functionality that generates the sample project can easily be modified to load a template from a zip file. I am planning to add a project export feature anyway, and I can easily add an option to write a template zip from a project as well. There's no reason to wait for a 2.0 for this addition. I can add it in a minor release too. Would you mind making a feature request issue on this? You can pretty much just copy/paste what you wrote already. |
Submitted - #841 |
Something I wish text editors did is treat selected text the same way IDEs do when it comes to markup wrapping. For example, I select a whole line and hit the double quote key That, to me, is a killer feature right there :) Compare it with the tedious (and stream-of-thought breaking) cursor navigation to enter markup. |
Well, there are hotkeys for all of those. I considered doing what you suggest, but most people who write don't code, so I thought it might be an unexpected functionality, but I have considered making it an option. |
I'm still exploring nW but I'm loving it. Some suggestions:
I don't know if these are silly ideas (I'm not into coding) and I'm really sorry if one or more of those features are already there, I'm still new to the app. Anyway this app can only improve so I'm impatient to try the new versions. |
Glad to hear it! :)
That is potentially a lot of data to collect. Aggregating time spent editing each file is not so difficult, neither is revision count. Perhaps those are sufficient. Logging activity per file would require a log file for each document, and a lot of logic to start/stop the timing.
novelWriter is not meant to be used for research. Creating a full note taking app within novelWriter is not something I really want to do because it is a lot of work. Especially since it is a plain text editor. The notes are intended for character profiles and plot outlines, etc. See sticky issue #815 for more details.
The included flag only affects what documents are by default included in the export build. You can filter notes and novel content independently in the build tool, and also override the include flag if you wish. You can play around with the preview option in the Build Tool to see how the various filters affect the result. The include flag has no effect on word count or anything else in the main window. If you want the total word count on the status bar to only show words in the novel part of the project, there is a setting in Preferences on the Editor tab to enable/disable including word counts from notes. You can also see the total word count and chapter counts of the included novel files on the Project Details panel. This is the best tool for checking the progress of the content intended for the final novel.
Actually, you're not supposed to be able to reorder those columns. That's a bug, although a trivial one. That's why the order is not saved. I could look into adding more options to customise it. Please make a new feature request for this, otherwise I will forget.
I've considered this before. Please include it in the feature request for the point above, if you make one. It's a good idea.
Sure, an Italian translation would be great! The instructions are here: https://github.com/vkbo/novelWriter/tree/main/i18n
|
Just to clarify here... Is Crowdin the way forward for translators? I already use it for a couple of other apps I contribute to, so this would tie in nicely. edit - meant for #93 , I'll post it there too and leave it here as it's kinda on topic. |
After using novelWriter intensely for a few days, here are a few ideas:
Again: this program is great <3 I've been writing like mad lately and I think you're partially to blame ;) |
I plan to make a bunch of improvements to the build tool. They will likely be included in the next release after the upcoming 1.7 release, so in a few months I would guess. One of my ideas is to let the user save build configs so that you can define your own presets for builds and add an import/export feature so you can keep a repository of them yourself to use between projects. This may serve your purpose. I plan to expand the amount of build options quite a bit to better serve common cases like manuscript submission standards. Writing my own ODT file writer was the first step of that process, which I did a while ago.
Sure, I'm a command line user myself, and so are a lot of other users I've noticed. You can already open a project directly from command line. Just provide the path to the project folder as the last argument, and you're good to go. There are a few other command line arguments available as well, but mostly for debugging purposes. I don't think it should be too much work to add a build command to the command line, similar to what OpenOffice and LibreOffice can do. The source code is split into a core package that handles all of your project's data, and a set of GUI packages. This separation isn't 100%, but close enough that I should be able to make a command line only, or Python scripting-friendly importable API for doing builds. I will definitely consider the first, which is still quite scriptable. The only issue here is that at present, the build tool is a GUI tool, not a core tool. It cannot run independently of the GUI. But I will keep this in mind when I refactor the code. It makes sense to separate the build engine out into a separate class. That will make this easier to implement as well.
Proper formatting as in a WYSIWYG / rich editor? I've spent a lot of time thinking about it as a novelWriter 2.0 thing. As long as we're talking basic formatting, it can definitely be done. I am also working on a second application for writing using C++ that is such an editor from scratch, so I may end up keeping them separate and leave it to the user to pick their preference.
It's a request that comes up from time to time. There are a few threads about visualisation of the project structure (see #76 and #854 for instance). Currently, this is done in the Outline tab, which is a very basic table view. I haven't yet decided where to go on this, and I'm definitely open to ideas.
😁 |
Oh, nice, this is all awesome to hear! Having build presets would definitely fit my needs. I hadn't tried running it with the project path; will definitely create a shortcut for my novel with it now to save a click. Thanks for the heads up :)
Oh, I meant the other way around: I read that you planned on having it on the 2.0 release and wondered if it would be possible to also keep formatting as it is, because I really like writing in markdown syntax <3
A friend recently showed me how this works in Scrivener, and it has the card view with both a summary of what's in the file and/or notes you can write on top of it which probably show up somewhere else when you have the file itself open. I think Scrivener is a bit too much overall, and in general for me it would be interesting just to have a card view that allows cards/files to be rearranged, like in the project tree view. Mostly because for me (and I imagine other people as well) I can visualize how chapters are related with a card view, rather than a list. Cards could have a bit of info about the file, like word count and status (and I suppose we could have them separated by root folder, so you would view the cards/files for one root folder at a time); having a way to see tags and synopsis could also be quite useful, because then you wouldn't need to create a whole new system for 'file notes', for instance, and we could use the synopsis to have an overall view of each chapter at a quick glance. I read the ideas about timeline visualization; I recently had the need to do a timeline and ended up doing it on paper :-p I guess adding a proper timeline function would be definitely nice, but also a whole new feature. Maybe just starting with a card view would already add some cool possibilities? I don't know anything about the technical difficulties of adding all this, since my programming skills stop at 'lazy bash scripts for automation', so I just throw these ideas there so see how they seem to you. Also thanks for the detailed reply. I can't help with much other than translating (and I see Portuguese is already at 100%) and throwing ideas around, but definitely count on me for those. |
Ah, I see. I think if I did do this, I would do a hybrid solution, like convert the syntax on the fly to the correct emphasis or text alignment, but not much more. I would still keep the title and keyword syntax for instance, and probably also comments. The idea was to not go full fixed with Markdown, but something that looks as close as possible to the intended look without requiring all the bulk and trimmings of a full rich text editor. Which I think mostly is a distraction anyway. My other project goes down that path, but still with a limited set of text features to keep it light. There are already plenty of multi-purpose word processors out there! This is what I dislike the most about Scrivener in fact.
That is essentially the functionality of the Outline tree view, just with cards instead. The main issue with drag and drop on the content level (i.e. chapter/scene) is that I don't require that the files are split in that manner. Drag and drop would then imply the ability to split and reorganise the content of files, which is something I'm a bit reluctant to do. I also don't want to force people to use one file per scene if they prefer one file per chapter, etc. Some writing styles mean you may not want to rearrange scenes in a chapter. While other people, like myself, write without much thought for chapter division at all. I work on acts and scenes.
The problem is really to pick a visualisation that works, That has proven to be quite difficult. The two threads I linked are the best discussions so far. The oldest one is really just a summary of a chat over lunch with a colleague who then made the issue ticket 😄
This is open source. Ideas are important because there isn't a team of designers discussing this in meetings. There is no way I could have come up with all the ideas that have gone into novelWriter on my own! |
Oh, this sounds good, actually :)
I see what you mean. I did mean the ability to reorganize and split content of files, yes, though I didn't mean in the sense that it would matter if they're organized in folders for chapters or scenes and whatnot. It would just be a card view for the files, whichever way the person chose to use the files for. In my head it would basically be what you said you are reluctant to do, yeah - reorganizing content in a card view. But then I also usually just either have one big file for the whole book or divide it only in chapters (as in different files), so I guess if someone likes to organize things a bit more in folders and stuff things could get complicated. I do see how this could be useful and maybe less complicated in the notes files, maybe?
Thinking about how novelwriter gives the tools but don't force you to write in a specific way - which I think it's the best thing about it - maybe there could be some kind of card-type root folder. I'll re-read the threads you linked and see if I can come up with a good enough explanation of this idea in a way that could make sense for the project. (Also: just finished writing my book!) |
Congrats on finishing your book! In the next version (1.7) it will be possible to add documents as child items of other documents, so you can use a chapter document with scene documents below it. This is yet another way to organise content. I will streamline the split and merge feature to fit this new format as well, which means it should be possible to plan the project at whatever level (act, chapter, scene) you want and then use the tool to change how they're organised. Maybe a card view that represents this would be a solution. Like, each row represents a document or folder at a level you can select, and the sub-items run along the line after it. |
A quick re-build shortcut that uses the last used preset/options without prompts (yes, use at your own risk) sounds like such a good idea right now. |
You mean for the build? Sure, I can add that. It sounds quite useful. Please make a new feature request, and I'll throw it into the mix of features for 2.1. |
What do you think of semi-seamless document traversing from the Editor? Like this:
If the cursor is at the top and you hit the opposite keys/combos, the Editor traverses backwards instead. Text cursor will be placed at the end of the document. This should possibly be limited to the same root folder, since you would normally only want to traverse a single tree like this. |
Dumping more ideas for cursor navigation in the Document Editor. Amplify Home/End keys:
Implement paragraph traversal:
Motivation/Rationale: Right now, wanting precision with cursor traversal is an endless tapping of the arrow keys, and it is not so precise if you also want speed. |
Closing this old discussion issue. Many features have been implemented, and there will not be a novelWriter 2 (not 2.0) anyway. If I do move ahead with a rich text editor, it will be a new app entirely. |
Background
I initially developed novelWriter for myself and a colleague (@Number042). There was no concrete development plan and we just came up with nice-to-have features as we discussed them over lunch or coffee. Since then, a lot has changed based on user feedback, and it's become a bit more of a serious project. Due to this backstory, there are a lot of redundant features in novelWriter that are partially legacy features. Some of them make things a bit more complicated than strictly necessary.
For instance, due to the plain text and markdown-like properties of the editor, a lot of the requested features cannot be implemented in a simple and user-friendly way. Every feature would require some clunky and esoteric notation. There are better ways to accomplish these things and Qt is plenty flexible enough to do it properly. But it would require some fundamental changes to novelWriter that would, among other things, require a different project file structure.
I want to start looking ahead a bit to what would be a suitable set of features for a novelWriter 2.0. Both based on my own list of nice-to-have features, and user feedback and requests.
Ideas for Main Changes
New Editor
The core of the changes I propose is a new editor. It will remain simple, but it will allow a limited amount of rich text. The file heading and the keyword tags will be moved into a header with pre-defined editable areas. I want something similar to what Scrite does.
The document body will allow for the current features, but will use proper bold/italic/underline/strikeout/etc instead of markdown-like syntax. Each paragraph of the text can also have style properties, like left/right/centre alignment, and other block formats.
I will allow one type of heading within the document as it is still useful to serve as a split location for splitting a chapter document into scenes, but in general, the new editor will expect that the project is split up into either scenes of chapter files. This reduces the complicated nature of all the various current layouts. I will still allow for partition dividers and unnumbered sections, but all of this will be controlled by a document setting rather than defined by the level of the header within it. This reduces the duality that currently exists.
Note files will have a similar layout where the main title and the note's tag will be in the header. The text will allow the same four levels of headers it currently does.
File Format
The file format will still be plain text, but the paragraphs (lines) in the text will have a block format tag and potential in-line tags for emphasised text fragments. The files will thus no longer be practical for the user to edit externally, but can still be diffed and version controlled. The files were never meant to be edited externally anyway.
I've already come up with a suitable file format based on a square bracket region ahead of the text defining the block format, and curly bracket tags within the text wrapping text fragments. The latter is especially convenient because that is also exactly how Open Document files are written, so the ODT conversion becomes trivial. It also simplifies HTML conversion.
Consequences
The main consequences here are that many requested features can be implemented. The downside is a bit slower loading and saving time for documents, but for reasonably sized scene-size files it is a non-issue.
Existing Feature Requests
Here's a list of some feature requests that can be accommodated in novelWriter 2.0 with a new, minimal rich-text editor:
Lost Features
Ctrl +
or something similar.Additional Benefits
novelWriter 1 to 2
I will probably keep novelWriter 1 alive and in an LTS state even if 2 is released. That means it will remain long term and get patches when needed, but no additional features. Users who prefer the current plain text style can keep using it.
A project converter will be added to convert nW 1 projects to nW 2 projects.
It is also possible I will do this in an entirely new application. I'm playing around with a lot of Qt6 features in C++ in another repository named Collett.
The text was updated successfully, but these errors were encountered: