* use repology.org to replace manually created linux package list [0] * update debian/ubuntu dependencies (delete outdated fedora one) * update all build doc to qt6 * add cmake flags info * merge all build instructions into one * add more ocr examples * add links and fix dictionary formats info * misc
1.3 KiB
Developing GoldenDict is not hard.
If you know some C++ and optionally some Qt, you can start to modify GoldenDict right now:
- Install Qt and QtCreator
- (On Linux, install dependencies)
- Load
goldendict.pro
orCMakeLists.txt
- Modify some code
- Hit the
Run
.
Coding Standards
Please follow C++ Core Guidelines and write modern C++ code.
Commit messages should follow Conventional Commits
Reformat changes with clang-format
how to use clang-format
Remember to enable clang-tidy
support on your editor so that .clang-tidy
will be respected.
Architecture
What's under the hood after a word is queried?
After typing a word into the search box and press enter, the embedded browser will load gdlookup://localhost?word=<wantted word>
. This url will be handled by Qt webengine's Url Scheme handler. The returned html page will be composed in the ArticleMaker which will initiate some DataRequest on dictionary formats. Resource files will be requested via bres://
or qrc://
which will went through a similar process.
TODO: other subsystems.