Re-Factor MarkText with electron-vite
| Q | A |
|---|---|
| Bug fix? | yes |
| New feature? | yes |
| Breaking changes? | yes |
| Deprecations? | yes |
| New tests added? | N/A |
| Fixed tickets | N/A |
| License | MIT |
Description
- This is an attempt at a complete "re-factor" of MarkText by introducing a new development environment (electron-vite) to modernise the development process
- Bundle size is 100MB smaller
- Pretty much all libraries have been bumped up to their modern versions, with respective API changes
- Most notable is moving away from Vue2 to Vue3 with the Composition API
- Based off Jacob Whall's fork which already includes quite a number of bug fixes
- Also includes #3859
- Also includes some of my own QoL improvements
- Better handling of bullet points when repeatedly pressing enter (now more in-line with what you will expect from popular text editors)
- Tab switching now restores your scroll position to where you left of, instead of jumping to your cursor
- Opening a file now lands you at the start rather than the end
I peoples want to test it its awsome its here some already compiled packged https://github.com/Tkaixiang/marktext/releases
@Tkaixiang Excellent work. I will review this PR in the near future.
@Tkaixiang Please fix the Copilot review comments first.
@Tkaixiang Please fix the Copilot review comments first.
Hi @Jocs thank you so much for taking the time to take a look! I am unfortunately busy with life at the moment and am unable to continue work on this until Early December.
I have also been taking a much more single-person approach to development (console.logs() in master branch) so this PR is currently quite unpolished.
Could I also check what is the plan for MarkText moving forward? Will you be back working on it? My fork unfortunately does throw quite a lot of the original development pipelines out of the window (lack of testing etc.) and is still quite buggy.
@Tkaixiang Thank you very much for your contribution. Starting from November, I’ve begun a gap year, and over the next year I plan to restart the maintenance of MarkText. This includes upgrading the core editor (replacing it with the Muya version I’m currently rewriting), adding internationalization support, upgrading the project’s tech stack (possibly switching to React, depending on cost), and keeping the product small and elegant (removing some unrelated or rarely used features).
If you're interested, we can schedule a voice call in Chinese to chat about ideas for MarkText. BTW, I’ll probably start working on MarkText maintenance around December as well.
@Jocs That is amazing to hear! Im so glad u are back.
I and other contributors have actually already implemented internationalization in MarkText in this fork using vue-i18n. I also keep some rough notes of all the changes we made in the Release Notes, some of which involves Muya changes, but we can work through how to merge them together.
If you are interested, I can also give you contributor access to my fork so that you can start working on it earlier if you want?
As for React, that does sound like a very significant change, is there a specific reason for the switch such as performance/future library support?
I would love to chat more about MarkText, though my Chinese is not very good unfortunately 😅. I will drop you an email if you are interested :)
@Tkaixiang That’s great! But I may need to wait until December before I have time to start maintaining MarkText, as I’m currently working on another closed-source project. As for refactoring it to React, it’s mainly because I want to unify my tech stack, though it’s not a strict requirement — Vue is totally fine to continue using.
Feel free to contact me by email at [email protected], I check my email more frequently.
@Jocs Got it!
I will drop you an email with my details.