aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-02-12go.mod: pembaruan semua dependensidevShulhan
2026-02-12README: sederhanakan bagian LisensiShulhan
Cukup cantumkan nama lisensi dan nama berkas
2025-12-27Release kamusku v0.1.1 (2025-12-27)HEADv0.1.1mainShulhan
**🌼 all: fix logging in client tests** **💧 all: replace golangci-lint with internal linter** The internal/cmd/gocheck use the go static analysis [Analyzer] that are not included in the default go vet. By using gocheck we found un-alignment and shadowing, * client.go:18:13: struct with 24 pointer bytes could be 16 * dictionary.go:23:17: struct with 32 pointer bytes could be 16 * client_test.go:18:13: struct with 56 pointer bytes could be 48 * client_test.go:62:13: struct with 56 pointer bytes could be 48 * cmd/kamusku-telegram-bot/main.go:31:3: declaration of "err" shadows declaration at line 25 * kamusku_test.go:49:3: declaration of "err" shadows declaration at line 38 [Analyzer]: https://pkg.go.dev/golang.org/x/tools/go/analysis#hdr-Analyzer **💧 README: add section about development and license** **💧 all: fix test due to missing testdata directory**
2025-07-14README: tambah bagian pengembangan dan lisensiShulhan
2025-07-14all: replace golangci-lint with internal linterShulhan
The internal/cmd/gocheck use the go static analysis [Analyzer] that are not included in the default go vet. By using gocheck we found un-alignment and shadowing, * client.go:18:13: struct with 24 pointer bytes could be 16 * dictionary.go:23:17: struct with 32 pointer bytes could be 16 * client_test.go:18:13: struct with 56 pointer bytes could be 48 * client_test.go:62:13: struct with 56 pointer bytes could be 48 * cmd/kamusku-telegram-bot/main.go:31:3: declaration of "err" shadows declaration at line 25 * kamusku_test.go:49:3: declaration of "err" shadows declaration at line 38 [Analyzer]: https://pkg.go.dev/golang.org/x/tools/go/analysis#hdr-Analyzer
2025-07-14go.mod: upgrade package pakakeh.go to v0.60.1Shulhan
Since v0.60.1 the lib/hunspell package has been removed due to inactivity. We replace it by copying the internal function MergeDictionaries directly.
2025-01-02all: fix logging in client testsShulhan
2024-12-13go.mod: update all dependenciesShulhan
This fix kbbi login issue due to minimal TLS version (1.3) cause the connection being blocked by CloudFlare. The new kamusd version has been deployed immediately.
2024-04-18Release kamusku v0.1.0 (2024-04-06)v0.1.0Shulhan
kamusku is implementation of HTTP API server for Kamus Besar Bahasa Indonesia https://kbbi.kemdikbud.go.id as free software project. There are two services provided by this project: - kamusd: the HTTP server as proxy to KBBI server. - kamusku-telegram-bot: Telegram bot as interface to HTTP server.
2024-04-18cmd/kamusku: command line interface to kamusku serverShulhan
The kamusku CLI accept one or more words to be lookup their definition on the server.
2024-04-18all: remove unused Client and activeClientShulhan
Since we now only have one client, apiClient, rename it to Client so it can be used by other module or package later.
2024-04-18all: rename the module to "kamusku"Shulhan
2024-04-18all: move the deployment to VPSShulhan
Using AppEngine is not flexible and hard to debug. For example, if we changes the dependecies on module "pakakeh.go" there is no way to deploy it manually without pusing new commit to "pakakeh.go" and update the go.mod manually.
2024-04-18internal/cmd/embed: internal command to generate embedded Go filesShulhan
The "embed" command generate memory file system in memfs_www.go file which will be used by kamusd service.
2024-04-06all: fix flaky test due to test test server is not readyShulhan
In TestMain we run dummy server to test the client. Sometimes when test running the server has not ready yet. To fix this we check if the server is ready using [libnet.WaitAlive].
2024-04-06all: re-license the project to GPL-3.0 or laterShulhan
For the reason why we choose GPL v3 see https://kilabit.info/journal/2022/gpl/. While at it, we make the project comply with REUSE Specification version 3.0.
2024-04-06all: replace "share" module with "pakakeh.go"Shulhan
The "share" module has been moved to new forge, SourceHut, with new name "pakakeh.go".
2021-01-31all: rewrite the serverShulhan
This commit move the directClient to different repository called kamusku and changes the module name from kamusku to kamusd.
2020-05-30all: rename the module to "kamusku"Shulhan
2020-05-29cmd: add deployment script for App EngineShulhan
2020-05-28go.mod: update dependenciesShulhan
2020-05-28server: make the listen port configurable through environmentShulhan
Deploying to App Engine require the port to be initialized through environment variable PORT.
2020-04-12telegram_bot: use symbol ‣ to prefix the definitionShulhan
2020-04-12telegram_bot: ganti penggunaan daftar prefiks "-" dengan simbol •Shulhan
2020-04-12all: beri penjelasan tentang kolom "pesan" pada responseShulhan
Bersamaan dengan ini, perbaiki juga respons pada halaman proyek untuk menampilkan kolom "pesan".
2020-04-12all: fix and suppress linter warningsShulhan
2020-04-12all: refactoring client to load cookies automaticallyShulhan
When creating new client, the directClient will autoload cookies in predefined location. If Login is called, the cookies will autosave directly to predefined location. This will allow the server to use authenticated directClient to mitigate the limit on KBBI official server.
2020-04-12kata: perbaikan pengujian dari perubahan sebelumnyaShulhan
2020-04-12direct_client: beri pesan untuk kata yang tidak ditemukanShulhan
2020-04-12telegram_bot: bungkus pesan perintah dengan codeShulhan
Hal ini supaya perintah tersebut tidak bisa diklik oleh user.
2020-04-12telegram_bot: tampilkan pesan pada perintah "start"Shulhan
Disebabkan banyak yang kebingungan menggunakan bot, pada saat user mulai pertama kali menggunakan bot dengan perintah "start" maka akan ditampilkan contoh penggunaan perintah "definisi".
2020-04-12all: tangani kata tidak bakuShulhan
Sebelumnya bila kata adalah kata tidak baku, definisi kata akan berisi karaketer "→" saja. Perubahan ini memeriksa bila definisi kata adalah "→" maka akan dianggap tidak baku dan kata yang baku berada satu elemen sesudahnya.
2020-04-11direct_client: perbaikan parameter untuk mendapatkan token loginShulhan
Seharusnya untuk mendapatkan token attribut yang dicari adalah "value" bukan "name".
2020-04-11telegram_bot: tangani perintah yang tidak dikenalShulhan
Selain itu sederhanakan deskripsi dari perintah "definisi".
2020-04-11telegram_bot: tangani parameter yang kosong pada perintah "/definisi"Shulhan
Jika argumen pada perintah "definisi" kosong, maka bot akan membalas dengan pesan yang memberitahu cara menggunakan perintah tersebut.
2020-04-11_www-kbbi: tambah kode untuk analyticsShulhan
2020-04-11all: pembaruan dokumentasi dan READMEShulhan
Tambahkan informasi tentang Bot Telegram dan definisi API. Samakan isi antara halaman HTML dengan README di Github.
2020-04-11all: implementasi bot untuk TelegramShulhan
2020-04-11LICENSE: pembaruan surelShulhan
2020-04-07_content: tambah deskripsi program dan berkas tautan unduhShulhan
Disebabkan server www-kbbi sekarang melayani tautan ke program, maka server tidak men-generate berkas static.go lagi, namun konten dari situs di salin langsung ke server.
2020-04-06definisi_kata: check for empty and ";" in example of wordShulhan
2020-04-06www-kbbi: add content page for "/project/kbbi"Shulhan
The content page show the definition and capabilities of the API.
2020-04-05all: simplify iterating HTML tree with NodeIteratorShulhan
2020-04-05server: add parameter to load dictionary storageShulhan
2020-04-05api_client: skip the online testShulhan
2020-04-05all: simplify html parser using github.com/shuLhan/share/lib/net/htmlShulhan
2020-04-01server: dump the cache when server shutting downShulhan
2020-04-01Makefile: add deploy taskShulhan
The deploy task build the specific binary for server OS and architecture and copy them to server.
2020-04-01all: implement server and client for dictionary APIShulhan
Currently the server and client can onyl handle API for looking up definitions of the words through "/api/definisi" URL.
2020-03-30all: refactoring ClientShulhan
The client will have two mode: direct or API. The direct mode connect to official KBBI website, request the word page, and parse the HTML to get the definition. The API mode connect to server API that provide caching of dictionary.