sondakika 1.0.8 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,91 +1,203 @@
1
1
  # Sondakika
2
2
 
3
- Terminal-based CLI tool to fetch and display breaking news from RSS feeds.
4
-
5
- ![sondakika](https://img.shields.io/badge/sondakika-news%20CLI-blue)
6
- ![Node.js](https://img.shields.io/badge/Node.js-14%2B-green)
7
- ![License](https://img.shields.io/badge/License-ISC-yellow)
8
-
9
- ## Features
10
-
11
- - 📰 Fetch news from multiple Turkish news sources
12
- - 🔗 Clickable URLs in terminal (iTerm2, Windows Terminal, macOS Terminal)
13
- - 🎨 Styled terminal output with Unicode borders
14
- - Fast and lightweight
15
-
16
- ## Installation
17
-
18
- ### Using npx (no install)
19
-
3
+ **Windows için Modern Electron Tabanlı RSS Haber Okuyucu + Eski CLI Aracı**
4
+ *Türkçe haberleri gerçek zamanlı toplayan yerel masaüstü uygulaması, artı orijinal terminal tabanlı CLI işlevselliği*
5
+
6
+ [![Sürüm](https://img.shields.io/badge/sürüm-2.0.0-blue)](https://github.com/eaeoz/sondakika/releases)
7
+ [![Lisans](https://img.shields.io/badge/lisans-ISC-green)](LICENSE)
8
+ [![Windows Desteği](https://img.shields.io/badge/Windows-10+-lightgrey)](https://www.microsoft.com/windows)
9
+ [![İndir](https://img.shields.io/badge/İndir-Windows%20Yükleyici-blue?style=for-the-badge)](https://github.com/eaeoz/sondakika/releases/download/2.0.0/Sondakika.Setup.2.0.0.exe)
10
+
11
+ ---
12
+
13
+ ## 📋 İçindekiler
14
+ 1. [Genel Bakış](#-genel-bakış-1)
15
+ 2. [🪟 Windows Masaüstü Uygulaması (v2.0.0 GUI)](#-windows-masaüstü-uygulaması-v200-gui-1)
16
+ - [Sondakika Nedir?](#sondakika-nedir)
17
+ - [Nasıl Çalışır?](#nasıl-çalışır)
18
+ - [Sistem Gereksinimleri](#sistem-gereksinimleri)
19
+ - [📥 İndirme](#-indirme)
20
+ - [Kurulum](#kurulum)
21
+ - [Başlangıç](#başlangıç)
22
+ - [Temel Özellikler](#temel-özellikler)
23
+ 3. [⌨️ GUI Klavye Kısayolları](#️-gui-klavye-kısayolları)
24
+ 4. [⌨️ Eski CLI Kullanımı (v1.x)](#️-eski-cli-kullanımı-v1x)
25
+ - [CLI Özellikleri](#cli-özellikleri)
26
+ - [CLI Kurulumu](#cli-kurulumu)
27
+ - [CLI Kullanım Örnekleri](#cli-kullanım-örnekleri)
28
+ - [Mevcut Kaynaklar](#mevcut-kaynaklar)
29
+ 5. [🛠️ Kaynaktan Derleme](#️-kaynaktan-derleme)
30
+ 6. [📦 v2.0.0'da Neler Yaptık?](#-v200da-neler-yaptık)
31
+ 7. [🤝 Katkıda Bulunma](#-katkıda-bulunma)
32
+ 8. [📄 Lisans](#-lisans-1)
33
+
34
+ ---
35
+
36
+ ## 📖 Genel Bakış
37
+ Sondakika iki modda mevcuttur:
38
+ - **v2.0.0+**: Uygulama içi makale okuyucu, temalandırma ve klavye navigasyonu içeren tam özellikli yerel Windows Electron GUI
39
+ - **v1.x Eski**: Türk RSS beslemelerinden terminalinizde doğrudan haber getirmek ve görüntülemek için hafif terminal tabanlı CLI aracı
40
+
41
+ Varsayılan `npm start` komutu v2.0.0 Electron GUI'sini çalıştırır. Eski CLI işlevselliği, terminal tabanlı iş akışlarını tercih eden kullanıcılar için korunmuştur (tam CLI kodu için v1.x sürümlerine bakın).
42
+
43
+ ---
44
+
45
+ ## 🪟 Windows Masaüstü Uygulaması (v2.0.0 GUI)
46
+
47
+ ### Sondakika Nedir?
48
+ 9 büyük Türk haber kaynağından (Cumhuriyet, TRT Haber, Mynet, Sabah, Star, Gazete Vatan, Habertürk, CNN Türk, Yeni Şafak, Anadolu Ajansı) gerçek zamanlı haberleri modern ve kolay okunabilir bir arayüzde getiren yerel bir Windows uygulaması.
49
+
50
+ ### Nasıl Çalışır?
51
+ 1. Uygulama, yapılandırılmış Türk haber kaynaklarından RSS beslemelerini almak için `rss-parser` kullanır
52
+ 2. Haber makaleleri, kaynak rozetleri ve zaman damgalarıyla kart tabanlı düzende görüntülenir
53
+ 3. Tam içeriği görüntülemek için herhangi bir makaleye tıklayarak uygulama içi okuyucuyu açın
54
+ 4. Kullanıcı tercihleri (etkin kaynaklar, tema, yazı boyutları, pencere konumu) yerel olarak kaydedilir
55
+ 5. Makaleler arasında klavye kısayollarını veya ekrandaki düğmeleri kullanarak gezinin
56
+ 6. Tek tıklamayla herhangi bir makaleyi varsayılan tarayıcınızda açın
57
+
58
+ ### Sistem Gereksinimleri
59
+ - Windows 10 (sürüm 1809 veya üzeri) / Windows 11
60
+ - 64-bit (x64) işlemci
61
+ - 200MB boş disk alanı
62
+ - Haberleri çekmek için internet bağlantısı
63
+
64
+ ### 📥 İndirme
65
+
66
+ Windows yükleyicisini doğrudan indirin:
67
+
68
+ [![Sondakika 2.0.0 İndir](https://img.shields.io/badge/⬇️%20İndir-Windows%20Yükleyici%20(64-bit)-blue?style=for-the-badge)](https://github.com/eaeoz/sondakika/releases/download/2.0.0/Sondakika.Setup.2.0.0.exe)
69
+
70
+ **Doğrudan Link:**
71
+ `https://github.com/eaeoz/sondakika/releases/download/2.0.0/Sondakika.Setup.2.0.0.exe`
72
+
73
+ Veya tüm sürümler için (v1.x CLI-only sürümleri dahil) [GitHub Releases sayfasını](https://github.com/eaeoz/sondakika/releases) ziyaret edin.
74
+
75
+ ### Kurulum
76
+ 1. Yukarıdaki bağlantıyı kullanarak `Sondakika.Setup.2.0.0.exe` dosyasını indirin
77
+ 2. Yükleyiciyi çalıştırın ve ekrandaki talimatları izleyin
78
+ 3. Uygulama kurulumdan sonra otomatik olarak başlayacaktır
79
+ 4. Başlat menüsüne ve Masaüstüne kısayollar eklenecektir
80
+
81
+ ### Başlangıç
82
+ 1. **İlk Açılış**: Uygulama varsayılan haber kaynakları etkin olarak açılır (Cumhuriyet, TRT Haber, Mynet, Habertürk, CNN Türk)
83
+ 2. **Kaynak Seçimi**: Kenar çubuğu onay kutularını kullanarak haber kaynaklarını etkinleştirin/devre dışı bırakın
84
+ 3. **Haberleri Getir**: En son başlıkları getirmek için "🔄 Yenile" düğmesine tıklayın
85
+ 4. **Makaleleri Oku**: Tam makaleyi uygulama içi okuyucuda açmak için herhangi bir haber kartına tıklayın
86
+ 5. **Özelleştir**: Kenar çubuğu seçeneklerini kullanarak temayı, yazı boyutlarını, sıralama düzenini ve sayfa başına öğe sayısını değiştirin
87
+
88
+ ### Temel Özellikler
89
+ - ✅ **9 Türk Haber Kaynağı**: Cumhuriyet, TRT Haber, Mynet, Sabah, Star, Gazete Vatan, Habertürk, CNN Türk, Yeni Şafak, Anadolu Ajansı
90
+ - ✅ **Modern Arayüz**: Kart tabanlı haber düzeni ile temiz, duyarlı tasarım
91
+ - ✅ **Karanlık/Açık Tema**: Karanlık (varsayılan) ve açık temalar arasında geçiş yapın
92
+ - ✅ **Uygulama İçi Makale Okuyucu**: Tarayıcı açmadan tam makaleleri okuyun
93
+ - ✅ **Makale Gezintisi**: Animasyonlu geçişlerle okuyucudaki makaleler arasında gezinin
94
+ - ✅ **Ayarlabilir Yazı Boyutları**: Başlık (12-32px) ve içerik (10-28px) yazı tipleri için ayrı kontroller
95
+ - ✅ **Klavye Navigasyonu**: Navigasyon ve kontroller için tam klavye desteği
96
+ - ✅ **Kaynak Filtreleme**: Bireysel haber kaynaklarını etkinleştirin/devre dışı bırakın
97
+ - ✅ **Sıralama Seçenekleri**: Önce en yeni veya en eski olarak sıralayın
98
+ - ✅ **Sayfalama**: Sayfa başına kaç makale görüntüleneceğini kontrol edin (5, 10, 15, 20)
99
+ - ✅ **Görsel Çıkarımı**: RSS beslemelerinden makale görsellerini otomatik olarak çıkarır ve görüntüler
100
+ - ✅ **Durum Kalıcılığı**: Ayarlarınızı, pencere konumunuzu ve etkin kaynakları hatırlar
101
+ - ✅ **Harici Bağlantı Desteği**: Makaleleri varsayılan tarayıcınızda açın
102
+ - ✅ **Türkçe Dil Arayüzü**: Tamamen yerelleştirilmiş arayüz
103
+ - ✅ **Özel Uygulama Simgesi**: Çok boyutlu simge ile profesyonel markalama
104
+
105
+ ---
106
+
107
+ ## ⌨️ GUI Klavye Kısayolları
108
+
109
+ ### Ana Pencere
110
+ | Kısayol | Eylem |
111
+ |---------|-------|
112
+ | `↑` `↓` | Haber makalesi seç |
113
+ | `←` `→` | Sayfalar arasında gezinti |
114
+ | `Enter` | Seçili makaleyi okuyucuda aç |
115
+ | `1` `2` | Başlık yazı boyutunu azalt/artır |
116
+ | `3` `4` | İçerik yazı boyutunu azalt/artır |
117
+ | `` ` `` | Seçili makaleyi tarayıcıda aç |
118
+ | `F5` / Yenile'ye Tıkla | En son haberleri getir |
119
+
120
+ ### Makale Okuyucu
121
+ | Kısayol | Eylem |
122
+ |---------|-------|
123
+ | `↑` `↓` `Space` | Makale içeriğini kaydır |
124
+ | `PageUp` `PageDown` | Sayfa sayfa kaydır |
125
+ | `Home` `End` | En üste/en alta kaydır |
126
+ | `←` `→` | Önceki/Sonraki makale |
127
+ | `Enter` `Escape` | Haber listesine dön |
128
+ | `1` `2` | Başlık yazı boyutunu azalt/artır |
129
+ | `3` `4` | İçerik yazı boyutunu azalt/artır |
130
+ | `` ` `` | Makaleyi tarayıcıda aç |
131
+
132
+ ---
133
+
134
+ ### CLI Özellikleri
135
+ - 📰 Birden fazla Türk haber kaynağından haber getir
136
+ - 🔗 Terminalde tıklanabilir URL'ler (iTerm2, Windows Terminal, macOS Terminal)
137
+ - 🎨 Unicode kenarlıkları ile stillendirilmiş terminal çıktısı
138
+ - ⚡ Hızlı ve hafif
139
+
140
+ ### CLI Kurulumu
141
+ #### npx kullanarak (kurulum gerektirmez, sadece v1.x)
20
142
  ```bash
21
- npx sondakika ntv
143
+ npx sondakika trt
22
144
  ```
23
145
 
24
- ### Global install
25
-
146
+ #### Global kurulum (v1.x)
26
147
  ```bash
27
148
  npm install -g sondakika
28
149
  ```
29
150
 
30
- ## Usage Examples
31
-
151
+ ### CLI Kullanım Örnekleri
32
152
  ```bash
33
- # Show NTV news (default 10 items)
34
- sondakika ntv
35
-
36
- # Show 15 NTV news items
37
- sondakika ntv 15
38
-
39
- # Show Cumhuriyet news
153
+ # Cumhuriyet haberlerini göster
40
154
  sondakika cumhuriyet
41
155
 
42
- # Show Cumhuriyet news with custom count
156
+ # Cumhuriyet haberlerini özel sayıyla göster
43
157
  sondakika cumhuriyet 20
44
158
 
45
- # Show TRT Haber news
159
+ # TRT Haber haberlerini göster
46
160
  sondakika trt
47
161
 
48
- # Show TRT Haber news with custom count
162
+ # TRT Haber haberlerini özel sayıyla göster
49
163
  sondakika trt 15
50
164
 
51
- # Show Mynet news
165
+ # Mynet haberlerini göster
52
166
  sondakika mynet
53
167
 
54
- # Show Mynet news with custom count
168
+ # Mynet haberlerini özel sayıyla göster
55
169
  sondakika mynet 15
56
170
 
57
- # Show Sabah news
171
+ # Sabah haberlerini göster
58
172
  sondakika sabah
59
173
 
60
- # Show Habertürk news with custom count
174
+ # Habertürk haberlerini özel sayıyla göster
61
175
  sondakika haberturk 5
62
176
 
63
- # Show Star news
177
+ # Star haberlerini göster
64
178
  sondakika star
65
179
 
66
- # Show CNN Türk news
180
+ # CNN Türk haberlerini göster
67
181
  sondakika cnnturk
68
182
 
69
- # Show Yeni Şafak news
183
+ # Yeni Şafak haberlerini göster
70
184
  sondakika yenisafak
71
185
 
72
- # Show Anadolu Ajansı news
186
+ # Anadolu Ajansı haberlerini göster
73
187
  sondakika aa
74
188
  ```
75
189
 
76
- ### Available Sources
77
-
190
+ ### Mevcut Kaynaklar
78
191
  #### Son Dakika (Breaking News)
79
- | Command | Source |
80
- |---------|--------|
81
- | `ntv` | NTV (Son Dakika) |
192
+ | Komut | Kaynak |
193
+ |-------|--------|
82
194
  | `cumhuriyet` | Cumhuriyet |
83
195
  | `trt` | TRT Haber |
84
196
  | `mynet` | Mynet |
85
197
 
86
198
  #### Haberler (General News)
87
- | Command | Source |
88
- |---------|--------|
199
+ | Komut | Kaynak |
200
+ |-------|--------|
89
201
  | `sabah` | Sabah |
90
202
  | `star` | Star |
91
203
  | `vatan` | Gazete Vatan |
@@ -94,19 +206,17 @@ sondakika aa
94
206
  | `yenisafak` | Yeni Şafak |
95
207
  | `aa` | Anadolu Ajansı |
96
208
 
97
- ### Help
98
-
209
+ ### CLI Yardım
99
210
  ```bash
100
211
  sondakika
101
- # or
212
+ # veya
102
213
  sondakika --help
103
214
  ```
104
215
 
105
- ## Output Example
106
-
216
+ ### CLI Çıktı Örneği
107
217
  ```
108
218
  📰 ══════════════════════════════════════════════════
109
- Latest 10 News from NTV (Son Dakika)
219
+ Latest 10 News from TRT (Son Dakika)
110
220
  Son guncelleme: 10.04.2026 20:02
111
221
  ══════════════════════════════════════════════════
112
222
 
@@ -116,26 +226,88 @@ sondakika --help
116
226
 
117
227
  │ Son depremler...
118
228
  └─────────────────────────────────────────────────────────────────────
119
- 🔗 https://www.ntv.com.tr/...
229
+ 🔗 https://www.trt...
120
230
  ```
121
231
 
122
- ## Development
232
+ ---
233
+
234
+ ## 🛠️ Kaynaktan Derleme
123
235
 
124
236
  ```bash
125
- # Clone and install
237
+ # Depoyu klonlayın
238
+ git clone https://github.com/eaeoz/sondakika.git
239
+ cd sondakika
240
+
241
+ # Bağımlılıkları yükleyin (hem GUI hem de eski CLI bağımlılıklarını içerir)
126
242
  npm install
127
243
 
128
- # Run locally
244
+ # v2.0.0 Electron GUI'sini çalıştır (varsayılan)
129
245
  npm start
130
246
 
131
- # Link for global testing
132
- npm link
247
+ # Windows yükleyicisini derle (NSIS formatı, x64)
248
+ npm run build
133
249
  ```
134
250
 
135
- ## License
251
+ Derlenen yükleyici `dist/` klasöründe `Sondakika.Setup.2.0.0.exe` olarak bulunacaktır.
252
+
253
+ Eski CLI işlevselliği üzerinde çalışmak için [eski sürümlerdeki](https://github.com/eaeoz/sondakika/releases) v1.x kaynak koduna bakın.
254
+
255
+ ---
256
+
257
+ ## 📦 v2.0.0'da Neler Yaptık?
258
+
259
+ Bu sürüm, orijinal CLI aracından tam özellikli bir Windows masaüstü uygulamasına tam geçiştir:
260
+
261
+ ### Teknik Uygulama
262
+ - ✅ Masaüstü uygulama çatısı olarak **Electron 28.3.3** entegre edildi
263
+ - ✅ Windows x64 için NSIS hedefi ile **electron-builder 24.13.3** yapılandırıldı
264
+ - ✅ Özel çok boyutlu uygulama simgesi tasarlandı ve gömüldü (`assets/icon.ico` ve `assets/icon.png`)
265
+ - ✅ Otomatik Başlat menüsü/Masaüstü kısayolları ile taşınabilir Windows yükleyicisi oluşturuldu
266
+ - ✅ Ana ve oluşturucu işlemler arasında IPC iletişimi uygulandı
267
+ - ✅ Güvenli bağlam yalıtımı için ön yükleme (preload) komut dosyaları oluşturuldu
268
+
269
+ ### GUI Geliştirme
270
+ - ✅ Temalandırma için CSS özel özellikleri ile **Inter font** ve modern UI tasarlandı
271
+ - ✅ CSS değişkenleri ile **karanlık/açık tema sistemi** uygulandı
272
+ - ✅ Kaynak seçim onay kutuları ve ayar kontrolleri ile **kenar çubuğu** oluşturuldu
273
+ - ✅ Hover efektleri ve seçim durumları ile **kart tabanlı haber ızgarası** oluşturuldu
274
+ - ✅ Özel pencere ve gezinti ile **uygulama içi makale okuyucu** geliştirildi
275
+ - ✅ Tüm pencerelerde **klavye navigasyonu** desteği eklendi
276
+ - ✅ Kullanıcı verileri dizininde JSON dosyaları kullanarak **durum kalıcılığı** uygulandı
277
+ - ✅ Erişilebilirlik için **yazı boyutu kontrolleri** eklendi (başlık ve içerik ayrı)
278
+ - ✅ Yapılandırılabilir sayfa başına öğe ile **sayfalama sistemi** oluşturuldu
279
+ - ✅ Görsel çıkarımı ve tarih biçimlendirmesi ile **RSS ayrıştırma** uygulandı
280
+ - ✅ Haber getirme sırasında daha iyi UX için **yükleme iskeletleri** eklendi
281
+ - ✅ Uygulama genelinde **Türkçe dil arayüzü** oluşturuldu
282
+
283
+ ### Haber Kaynağı Entegrasyonu
284
+ - ✅ 9 büyük Türk haber RSS beslemesi entegre edildi
285
+ - ✅ Kaynağa özel görsel çıkarım desenleri uygulandı (örn. Gazete Vatan)
286
+ - ✅ Yanlış UTC sapması olan kaynaklar için saat dilimi düzeltmesi eklendi (CNN Türk, Yeni Şafak)
287
+ - ✅ Kaynaklar "Son Dakika" ve normal haber olarak kategorize edildi
288
+
289
+ ### Eski CLI Korunması
290
+ - ✅ Terminal UI desteği için `blessed` bağımlılığı korundu
291
+ - ✅ Eski kullanıcılar için tüm v1.x CLI belgeleri korundu
292
+ - ✅ CLI'dan GUI'ye geçiş yapan kullanıcılar için geriye dönük uyumluluk notları tutuldu
293
+
294
+ ---
295
+
296
+ ## 🤝 Katkıda Bulunma
297
+ Katkılarınızı bekliyoruz! Lütfen şu adımları izleyin:
298
+ 1. Depoyu çatallayın (fork)
299
+ 2. Özelliğiniz için yeni bir dal oluşturun (`git checkout -b feature/ozelliginiz`)
300
+ 3. Değişikliklerinizi işleyin (`git commit -m "Yeni özellik ekle"`)
301
+ 4. Dala gönderin (`git push origin feature/ozelliginiz`)
302
+ 5. Bir Pull Request açın
303
+
304
+ CLI ile ilgili katkılar için v1.x kaynak kodu yapısına bakın.
305
+
306
+ ---
136
307
 
137
- ISC
308
+ ## 📄 Lisans
309
+ Bu proje ISC Lisansı altında lisanslanmıştır - ayrıntılar için [LICENSE](LICENSE) dosyasına bakın.
138
310
 
139
- ## Author
311
+ ---
140
312
 
141
- Sedat ERGOZ
313
+ *Geliştirici: [Sedat Ergoz](https://github.com/eaeoz)*
Binary file
Binary file
@@ -0,0 +1,21 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="256" height="256">
2
+ <defs>
3
+ <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
+ <stop offset="0%" style="stop-color:#1a1a2e;stop-opacity:1" />
5
+ <stop offset="100%" style="stop-color:#16213e;stop-opacity:1" />
6
+ </linearGradient>
7
+ </defs>
8
+ <rect width="256" height="256" rx="40" fill="url(#bg)"/>
9
+ <rect x="48" y="40" width="160" height="176" rx="8" fill="#0f3460"/>
10
+ <rect x="56" y="48" width="144" height="160" rx="4" fill="white"/>
11
+ <line x1="56" y1="75" x2="200" y2="75" stroke="#e94560" stroke-width="3"/>
12
+ <rect x="68" y="85" width="60" height="8" rx="2" fill="#1a1a2e"/>
13
+ <rect x="68" y="100" width="80" height="6" rx="2" fill="#ccc"/>
14
+ <rect x="68" y="112" width="70" height="6" rx="2" fill="#ccc"/>
15
+ <rect x="68" y="124" width="75" height="6" rx="2" fill="#ccc"/>
16
+ <rect x="68" y="140" width="60" height="6" rx="2" fill="#ccc"/>
17
+ <rect x="68" y="152" width="65" height="6" rx="2" fill="#ccc"/>
18
+ <rect x="68" y="164" width="55" height="6" rx="2" fill="#ccc"/>
19
+ <rect x="140" y="85" width="56" height="85" rx="4" fill="#e94560" opacity="0.2"/>
20
+ <text x="168" y="135" font-family="Arial" font-size="32" font-weight="bold" fill="#e94560" text-anchor="middle">S</text>
21
+ </svg>