Forgejo ve Emacs #1
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: qbnetworks/cmf#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
github organizasyonlarımı ve depolarımı otomatik görebilmem ve oraya pushlayabilmem için GitHub apilerinden yararlanmam mı gerekli ?
Evet Mert, GitHub organizasyonlarını ve depolarını otomatik şekilde görmek, bu verilere erişmek veya push işlemleri yapmak istiyorsan GitHub API’lerini kullanman gerekecek. Özellikle:
GitHub REST API veya GraphQL API sayesinde:
Push işlemleri için:
git
komut satırı araçları ve uygun şekilde yapılandırılmış SSH anahtarları veya Personal Access Token (PAT) ile push yapılır.PUT /repos/:owner/:repo/contents/:path
ile içerik güncellenebilir), ama bu daha çok spesifik dosya değişiklikleri içindir.Kapsamlar (scopes) çok kritik:
repo
gibi yetkileri içeren bir token kullanmalısın.read:org
gerekebilir.Dilersen Python, Emacs Lisp veya başka bir dilde bu işlemleri otomatikleştiren bir örnek sistem de kurabiliriz. Free Software etiklerini önemsediğin için GitHub dışı alternatifleri (örneğin Gitea ya da GitLab CE) de konuşmak istersen, oralarda da API'ler benzer şekilde çalışıyor. Hangisini düşünüyorsun?
ek olarak Forgejo federasyonu kurulumu ve dış sistemlerle entegrasyon, CMF için iyi olur düşüncesindeyiz
Emacs üzerinden Emacs Lisp ile eklenti paket yazsam Forgejo API'lerini kullansam kendi sunucuma kurduğum bir Forgejo'da Emacs yerelden depo açma organizasyon açma gibi işlemler yapabilir miyim
Evet Mert, Emacs üzerinden Emacs Lisp ile yazacağın bir eklenti paketiyle Forgejo API’lerini kullanarak kendi Forgejo sunucunda depo açma, organizasyon oluşturma gibi işlemleri gerçekleştirebilirsin. Forgejo, Gitea’nın bir çatallanması olduğu için API yapısı da oldukça benzer; RESTful ve JWT tabanlı kimlik doğrulama destekli. Bu da Emacs Lisp ile HTTP istekleri yaparak Forgejo’yu kontrol etmeni mümkün kılıyor.
🛠️ Yapabileceklerin (Forgejo API ile)
Aşağıdaki işlemleri Forgejo API üzerinden gerçekleştirebilirsin:
POST /orgs/:org/repos
veyaPOST /user/repos
)POST /orgs
)GET /user
)PATCH /repos/:owner/:repo
)POST /user/keys
)🧠 Emacs Lisp ile Nasıl Yapılır?
Emacs Lisp’te HTTP istekleri için
url-retrieve
,request.el
gibi kütüphaneler kullanılabilir.request.el
daha modern ve JSON ile çalışmak için daha uygundur.Örnek: Yeni depo oluşturma
🔐 Kimlik Doğrulama
Forgejo API token’ı ile çalışır. Kullanıcı arayüzünden bir Access Token oluşturup bunu Emacs içinde saklayabilir ya da
auth-source
ile güvenli şekilde yönetebilirsin.📦 Paketleştirme
Eğer bu eklentiyi bir Emacs paketi haline getirmek istersen:
forgejo.el
gibi bir dosya oluştur.define-minor-mode
veyadefine-derived-mode
ile bir arayüz tanımlayabilirsin.package.el
,straight.el
veyaquelpa
ile yüklenebilir hale getirebilirsin.🌐 Ekstra Fikirler
magit
ile entegrasyon (örneğinmagit-push
sonrası otomatik PR açma)org-mode
ile Forgejo görevlerini eşleştirmeİstersen birlikte bir temel Forgejo Emacs paketi taslağı çıkarabiliriz. Hatta görsel bir simgeyle federatif yapıyı temsil eden bir mod da ekleyebiliriz. Ne dersin?
github organizasyonlarımı ve depolarımı otomatik görebilmem ve oraya pushlayabilmem için GitHub apilerinden yararlanmam mı gerekli ?to Forgejo ve Emacs