-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathboost_github.sh
More file actions
executable file
·285 lines (233 loc) · 9.97 KB
/
boost_github.sh
File metadata and controls
executable file
·285 lines (233 loc) · 9.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
#!/bin/bash
# 🚀 Professional GitHub Repository Optimization Script
# Optimizes macOS menu bar app for professional discovery
echo "🚀 Starting professional GitHub repository optimization..."
# Add professional topics for macOS menu bar app
echo "📝 Adding professional GitHub topics..."
gh repo edit --add-topic "macos"
gh repo edit --add-topic "menu-bar-app"
gh repo edit --add-topic "prayer-times"
gh repo edit --add-topic "islamic-app"
gh repo edit --add-topic "electron"
gh repo edit --add-topic "react"
gh repo edit --add-topic "typescript"
gh repo edit --add-topic "muslim"
gh repo edit --add-topic "open-source"
gh repo edit --add-topic "professional"
gh repo edit --add-topic "menubar"
gh repo edit --add-topic "swift-ui"
gh repo edit --add-topic "native-app"
gh repo edit --add-topic "developer-tools"
# Update repository description for professionals
echo "📋 Updating professional repository description..."
gh repo edit --description "🕌 Professional macOS menu bar app for Islamic prayer times. Built for Muslim professionals. Native integration, privacy-first, open source. Includes TypeScript npm package."
# Set homepage to releases
echo "🏠 Setting homepage URL..."
gh repo edit --homepage "https://github.com/yani2298/salat-now/releases"
# Create professional release if doesn't exist
echo "🏷️ Checking for releases..."
LATEST_RELEASE=$(gh release list --limit 1 | head -n 1 | cut -f1)
if [ -z "$LATEST_RELEASE" ]; then
echo "📦 Creating professional release..."
git tag v1.0.0
git push origin v1.0.0
gh release create v1.0.0 --title "🕌 Salat Now v1.0.0 - Professional macOS Menu Bar App" --notes "# 🕌 Salat Now v1.0.0 - Professional Release
**Professional macOS menu bar application for Islamic prayer times**
## 🎯 Built For
- Muslim professionals who need discreet prayer time access
- macOS users seeking native menu bar integration
- Developers who value privacy-first design
- Community members wanting open source Islamic software
## ✨ Professional Features
- **🖥️ Native macOS Menu Bar** - Seamless workflow integration
- **🕰️ Accurate Prayer Times** - Multiple calculation methods (ISNA, MWL, Karachi)
- **🌍 Global Location Support** - Automatic or manual city selection
- **🌤️ Weather Integration** - Current conditions display
- **🌙 Hijri Calendar** - Islamic date with events
- **🔔 Smart Notifications** - Customizable prayer reminders
- **🔒 Privacy First** - No data collection, works offline
- **⚙️ Professional UI** - Clean, minimal design following HIG
## 🚀 Installation
1. Download \`Salat Now.app\`
2. Move to \`/Applications\` folder
3. Launch - appears in menu bar
4. Grant location permission (optional)
## 📦 For Developers
Also includes \`salat-times-calculator\` npm package:
\`\`\`bash
npm install salat-times-calculator
\`\`\`
## 📋 Requirements
- **macOS 10.15+** (Catalina or later)
- **Location Services** (optional)
Built with ❤️ for the global Muslim professional community."
fi
# Pin repository for visibility
echo "📌 Pinning repository..."
gh api -X PATCH /user/pins/yani2298/salat-now
# Follow macOS developers (professional networking)
echo "👥 Following macOS developer community..."
gh api -X PUT /user/following/sindresorhus 2>/dev/null || true
gh api -X PUT /user/following/github 2>/dev/null || true
# Star related professional repositories
echo "⭐ Engaging with professional macOS community..."
gh api -X PUT /user/starred/sindresorhus/awesome-macos 2>/dev/null || true
# Create professional GitHub Gists
echo "📄 Creating professional GitHub Gists..."
# Professional macOS menu bar example
cat > macos_menubar_example.swift << 'EOF'
// 🕌 Professional macOS Menu Bar App Architecture
// Example from Salat Now - Islamic prayer times menu bar app
import Cocoa
import UserNotifications
class MenuBarController: NSObject {
private var statusItem: NSStatusItem!
private var menu: NSMenu!
override init() {
super.init()
setupMenuBar()
setupNotifications()
}
private func setupMenuBar() {
// Create status item with professional icon
statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
if let button = statusItem.button {
button.image = NSImage(named: "MenuBarIcon")
button.image?.size = NSSize(width: 16, height: 16)
button.image?.isTemplate = true // Adapts to menu bar appearance
}
// Create professional menu
menu = NSMenu()
menu.addItem(createPrayerTimeItem())
menu.addItem(NSMenuItem.separator())
menu.addItem(createSettingsItem())
menu.addItem(createQuitItem())
statusItem.menu = menu
}
private func createPrayerTimeItem() -> NSMenuItem {
let item = NSMenuItem()
item.title = "Next Prayer: Maghrib in 2h 15m"
item.isEnabled = false // Display only
return item
}
private func setupNotifications() {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound]) { granted, error in
if granted {
print("Notification permission granted")
}
}
}
}
// 🚀 This architecture is from Salat Now - fully open source
// ⭐ Check out the full app: https://github.com/yani2298/salat-now
// 📦 Use the calculation engine: npm install salat-times-calculator
// Professional macOS menu bar apps require:
// 1. Native NSStatusItem integration
// 2. Template icons for dark/light mode
// 3. Proper notification handling
// 4. HIG-compliant menu structure
// 5. Professional error handling
EOF
gh gist create macos_menubar_example.swift --desc "🕌 Professional macOS Menu Bar App - Islamic Prayer Times" --public
# TypeScript Islamic calculation example
cat > islamic_calculations_typescript.ts << 'EOF'
// 🕌 Professional Islamic Prayer Times Calculations
// Production-ready TypeScript library from Salat Now macOS app
import { SalatTimesCalculator, CalculationMethod, PrayerAdjustments } from 'salat-times-calculator';
class ProfessionalPrayerService {
private calculator: SalatTimesCalculator;
private cache = new Map<string, any>();
constructor() {
this.calculator = new SalatTimesCalculator();
}
/**
* Get prayer times with professional error handling
*/
async getPrayerTimesForProfessional(
city: string,
country: string = 'France',
method: CalculationMethod = CalculationMethod.ISNA
) {
try {
const cacheKey = `${city}-${country}-${method}`;
// Check professional cache
if (this.cache.has(cacheKey)) {
const cached = this.cache.get(cacheKey);
if (Date.now() - cached.timestamp < 3600000) { // 1 hour
return cached.data;
}
}
// Fetch with professional configuration
const times = await this.calculator.getPrayerTimes({
city,
country,
calculationMethod: method,
timeout: 5000, // Professional timeout
cacheEnabled: true
});
// Professional caching
this.cache.set(cacheKey, {
data: times,
timestamp: Date.now()
});
return times;
} catch (error) {
console.error('Professional prayer times error:', error);
throw new Error(`Failed to get prayer times for ${city}, ${country}`);
}
}
/**
* Get next prayer with countdown for menu bar display
*/
getMenuBarDisplay(prayerTimes: any): string {
const current = this.calculator.getCurrentPrayer(prayerTimes);
const countdown = this.calculator.getTimeUntilNextPrayer(prayerTimes);
const hours = Math.floor(countdown.minutes / 60);
const minutes = countdown.minutes % 60;
if (hours > 0) {
return `${current.next.name} in ${hours}h ${minutes}m`;
} else {
return `${current.next.name} in ${minutes}m`;
}
}
/**
* Professional prayer time adjustments
*/
applyProfessionalAdjustments(times: any, adjustments: PrayerAdjustments): any {
return this.calculator.applyAdjustments(times, adjustments);
}
}
// Usage in professional macOS menu bar app
const prayerService = new ProfessionalPrayerService();
// Professional implementation
async function updateMenuBar() {
try {
const times = await prayerService.getPrayerTimesForProfessional('Paris', 'France');
const display = prayerService.getMenuBarDisplay(times);
// Update macOS menu bar (pseudo-code)
// statusItem.button?.title = display;
} catch (error) {
console.error('Menu bar update failed:', error);
// Fallback to cached data or offline mode
}
}
// 🚀 This is production code from Salat Now macOS app
// ⭐ Full source: https://github.com/yani2298/salat-now
// 📦 Install: npm install salat-times-calculator
export { ProfessionalPrayerService };
EOF
gh gist create islamic_calculations_typescript.ts --desc "🕌 Professional Islamic Prayer Times - TypeScript Production Code" --public
echo "✅ Professional GitHub optimization complete!"
echo ""
echo "🎯 Professional Next Steps:"
echo "1. Verify GitHub repo settings reflect professional positioning"
echo "2. Check that topics emphasize macOS/menu-bar-app focus"
echo "3. Share professional Gists in macOS developer communities"
echo "4. Use professional social media templates for outreach"
echo ""
echo "📊 Professional Metrics:"
echo "- GitHub stars from macOS developers: gh repo view --json stargazerCount"
echo "- npm downloads from Islamic developers: npm info salat-times-calculator"
echo "- Professional mentions: Google Alerts for 'Salat Now macOS'"
echo ""
echo "🚀 Ready for professional macOS developer community engagement!"