torstendittmann / omniawrite Goto Github PK
View Code? Open in Web Editor NEWA text editor engineered for creative writing.
Home Page: https://OmniaWrite.com
License: Apache License 2.0
A text editor engineered for creative writing.
Home Page: https://OmniaWrite.com
License: Apache License 2.0
If someone wants to take on this task, I can provide more details on implementation 🙂
Hacktoberfest-2020
.Describe the bug
Inside a quote or heading block, pressing Enter has no effect. To continue writing text, the user must click the Paragraph button.
Suggestion
In those blocks, make the Enter key behave like the Paragraph button: create a new paragraph below and focus it.
I request that for example the font family setting and other unnecessary settings in the .vscode
folder are removed, since they are unnecessary and make the development process hard since it's very difficult to see the text when those styles kick in.
Currently the editor supports bold, italic and underline. But the following are also useful for writing, including literature:
Superscript. Useful in math (1 googol = 10100) but also in some languages: in French, honorifics use superscript, e.g Melle Juliette.
Subscript. For example in chemistry (H2O).
Strikethrough for annotations, e.g: The dog and the cat waswere fighting.
Small caps. Good for long acronyms, PA announcements and "writing on the wall". Example from James S.A Corey's Tiamat's Wrath:
I want to have a method that can either:
Current development branch is 1.1.
It might be helpful to isolate any platform specific methods to a single service file. Right now I have a few of them in here that can be migrated in such service as well. Something like src/interface.js
, src/bridge.js
or what ever can be created.
The save file dialog will be called here: https://github.com/TorstenDittmann/OmniaWrite/blob/1.1/src/routes/Export/Cloud.svelte#L124
It seems like, that on an empty paragraph, the placeholder interferes with the first focus/mouse click and only works the second time.
Is your feature request related to a problem? Please describe.
Before I created my own editor library, I was using EditorJS and have modified the paragraph block to highlight marked cards inside the editor. Since I messed with the DOM and sanitized it afterwards, there was a high chance of leftovers which could've end up in failures.
So for now, I have disabled this functionality.
Describe the solution you'd like
I like to have hints for the cards hovering over the editor, that lets you interact with corresponding cards without modifying the DOM.
I do not think that the previous solution with tooltips was a great idea. Since implementing tooltips always comes with a rat tail and the UX on mobile is very bad.
Additional context
Will add mockups for what I think could be working.
Hi, I was looking for a native Android client, but it was unsuccessful, I don't know if it already exists but it's not published on releases and that's why I'm opening this Issue.
I guess i would try to compile it myself, but i honestly don't know how to do it. I think it's a great project, I already installed the Linux Desktop application and it's working perfectly. So thanks in advance 😁
As @AntonyBoucher suggested.
Add meta data to projects like:
into the project itself, so that we don't have to re-type them every time we export.
I don't think saving the cover into the project is a good idea. Since saving it into localStorage will hit the technical limits for us. I was thinking about to have media storage in the cloud and choose files from there. But that will be something for a different update.
Describe the bug
When navigating to https://app.omniawrite.com/ a blank page is shown
To Reproduce
omniawrite.com
domainExpected behavior
app.omniawrite.com
domain.Screenshots
Desktop (please complete the following information):
If you change the scene title in the editor, the change isn't saved unless you also edit the scene contents.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Changing the title should be saved (immediately or with a delay), just like changing the text.
This one is scary, since there is zero tests so far in this project 😨
But is essential for the future.
To honor all contributors to OmniaWrite, it would be useful to include a page to list everyone.
This should be automated from the GitHub API.
Describe the bug
When I rename a scene, the scene's tab continues to show the old name.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The tab is updated with the new name.
Desktop (please complete the following information):
Describe the solution you'd like
Give the user a more advanced overview on his projects. Making these cards clickable and show the user detailed informations or statistics.
For chapters and scenes show a list of the most recent edited ones to navigate quickly between them.
For words show a list of the most used words with the amount of occurrences. Maybe a link to Thesaurus for synonyms could be helpful. Linking to the single occurrences might be tricky, but if they are used very frequent in a scene, linking to the scene is already helpful to the user.
For the characters, an overview of the typing behavior over time could be nice, but that would come with a whole tracking feature and should be optional for now.
Additional context
These features could lack visibility without any context, so a workaround for that might be needed. I hesitate right now to add another route to the navigation for statistics/analytics.
Line 15 in e092a8b
Seems like Safari 🤦 doesn't support RegExp Lookbehind Assertions. This can be solved by adjusting the regexp or adding babel to our bundling.
The "Normseite" is an auxiliary variable with which the size of a manuscript can be estimated. In literature, journalism and advertising, it serves as a possible basis for calculating the fees of authors, journalists, copywriters, translators or editors.
It was originally laid down in the standard contract of 1 July 1992 between the German book trade and the Association of German Writers: 30 lines of maximum 60 characters per page (1500 characters per page).
This can be especially useful to share your work with contractors or third parties.
For the cloud export right now we have an array with some languages to select from.
https://github.com/TorstenDittmann/OmniaWrite/blob/master/src/routes/Export/Cloud.svelte#L50-L55
A good addition would be implementing a library containing all the languages + 2-letter codes.
Sadly this is not supported by Firefox yet, so a library like globalize or i18n-iso-languages might be the best.
This is blocked by #89
I would really like to have a test job, that compares the language files and displays the coverage of them compared to the English one.
This should probably be added as an npm script.
Is your feature request related to a problem? Please describe.
Nope, it would just be a really nice thing to have
Describe the solution you'd like
Being able to export to PDF
Describe alternatives you've considered
Being able to export to HTML would be nice, and that would make PDF export incredibly relatively simple to add with all of the HTML -> PDF exporters out there
Describe the bug
Inside a modal dialog, pressing the Tab key repeatedly moves focus to the next items inside the modal, then also to items outside it.
To Reproduce
Expected behavior
When the last element in the modal has focus, pressing Tab again should focus the modal's first element.
Screenshots
In the image below, after opening the modal I was able to focus the "New Scene" button. Pressing Enter key at that point opens the New Scene dialog (the two modals are open at the same time).
Describe the bug
Is a minor issue. With i18n, the displayed datetime is wrong localized. It shows MMMM Do YYYY, h:mm a. in Spanish it produces Septiembre 28° 2020 9:20 am.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
See a localized datetime: in Spanish should be "28 de septiembre de 2020 09:20 am" (maybe LLL in Moment js)
Desktop (please complete the following information):
requirements:
Describe the bug
After create a new Scene, the string Let's write an awesome story!
and the dialog to confirm delete a paragraph are displayed in English.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Show the string "¡Vamos a escribir una historia asombrosa!" and "¿Estás seguro?"
Desktop (please complete the following information):
Additional context
I think the problem is in omnia-editor maybe here, I'm unsure about that, and I can read TypeScript but I can't write code fluently.
OW currently supports ordinary paragraphs (<p>), quotes (<q>) and code blocks (<code>). Some other styles may also be useful in practice:
Describe the bug
Undo button cannot undo the removal of a block of text.
To Reproduce
Steps to reproduce the behavior:
Redo button has some surprising effect though:
Expected behavior
Ctrl+Z or Undo button restore the deleted block. Ctrl+Y or Redo button delete it again.
Create a select input with the ability to search for something.
Take https://github.com/TorstenDittmann/OmniaWrite/blob/master/src/components/Forms/Select.svelte as an example.
It should be responsive, that means on mobile view it opens a fullscreen list with a search input at the top.
Describe the bug
Moving a scene or chapter right now for re-arranging is currently not possible on touch devices and seems to be very inconsistent between browsers.
For touch devices it's clear, the eventhandlers are missing for drag & co.
Since doing drag & drop in browsers with HTML elements from scratch is a pain in general, implementing a matured library like SortableJS might be the smartest approach.
When in a project with no chapters, show a placeholder to suggest creating a chapter with an actual action.
https://github.com/TorstenDittmann/OmniaWrite/blob/1.1/src/routes/Overview/Project.svelte#L13-L42
This most likely needs a revision without subscriptions, I experienced some memory leaks that influence the UI really bad.
When the user opens the WebApp, we should check if the used browser is none of:
The user should be able to dismiss this warning for the session or X days. Using cookies for this might be the smartest approach.
Content of the modal, should be suggesting to use Brave Browser or the desktop apps.
We also need to check if the user is on Electron or Capacitor to not show this message at all. I am not quite sure about their user agents right now.
Describe the bug
When text or "content" is pasted into the editor from another app (browser, Word, VS Code, etc) its formatting is imported along with it, even if the editor does not support it.
To Reproduce
Expected behavior
Pasted text should be scrubbed of all unsupported formatting, i.e all tags except <b>, <i>, <u>. Line breaks should also be handled somehow, as they are (currently) not allowed inside paragraphs.
Currently we only offer OmniaWrite in en
and de
.
To target a more broad audience, I would like to have additional languages added:
suggest a language by commenting on this issue
Clone a translation in /src/lang/
and rename it to your desired 2-letter language code following ISO-639-1 guidelines.
Translate every value in the JSON object and add the language to this part: https://github.com/TorstenDittmann/OmniaWrite/blob/master/src/main.js#L10
Let's say we want to add Russian, our line of code would look like this:
register("ru", () => import(/* webpackChunkName: "ru" */ "./lang/ru.json"));
Once you are done, you can create a Pull Request to the dev
branch 🥳
Describe the bug
The word count is not updated after using the Undo and Redo buttons.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The word count should be updated (immediately or with a delay) after pressing Undo or Redo buttons.
To delete several blocks, one has to click the Delete button then OK button for each block, one by one. It can be tedious. It would be nice to be able to select a span of text across multiple paragraphs, with the mouse or keyboard, then press Del key. But text selection is presently limited to a single block:
It gets worse when you want to move text to a different scene: you need to select a block's content, copy, delete it, switch scene, create a block, paste, switch back and repeat for each block of text.
Describe the bug
Editor UI is in English no matter what language is selected in Settings:
Expected
The whole UI is in the language selected in Settings.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.