Sync-wiki: Đồng bộ dữ liệu giữa DNH Github Wiki và DNH Discourse

daynhauhoc/sync-wiki

App Laravel nhỏ dùng để đồng bộ https://github.com/daynhauhoc/phpdocs và Dạy Nhau Học Forum (Discourse)

Roadmap

  • [x] Prototype : Quy trình pull từ Github và up lên Forum
  • [x] Build Discourse API : Đã xong với các endpoint cơ bản
  • [ ] Thảo luận về quy trình tạo wiki, font-matter, có thể là các nguyên tắc để giúp app chạy mà không cần setting (chỉ cần parse các file là ok)

Mockup

<img src='https://daynhauhoc.s3-ap-southeast-1.amazonaws.com/original/2X/7/7a68ddf8049cd1846ee81728430867bbcd7c96e1.jpg'>

Contribute guidelines

Fork project về
$ git clone [link tới con fork]
$ cd sync-wiki
$ git remote add upstream https://github.com/daynhauhoc/sync-wiki
$ git checkout -b my-feature
code quằn t&agrave; l&agrave; vằn ở đ&acirc;y
$ git add [c&aacute;i list cần add]
$ git commit -m &quot;nội dung commit v&ocirc;.&quot;
$ git pull origin upstream
$ git merge master my-feature
$ git push origin my-feature
L&ecirc;n github, tương c&aacute;i PR (Pull Request)

Nếu rắc rối và không thích dùng command, hãy dùng https://windows.github.com/


Đây là nội dung được tạo tự động. Vui lòng không chỉnh sửa ở đây.
Để đóng góp cho nội dung wiki tốt hơn, hãy gửi pull request tại https://github.com/daynhauhoc/sync-wiki/blob/master/README.md

3 Likes

Còn đây là topic đang thảo luận cách hoạt động của project này

Cho hẳn 1 like nhưng rất tiếc đã đến daily limit :wink:

2 Likes

Đã tăng giới hạn lên gấp 10 lần cho ngày hôm nay :smile:

@kayz hình kia là hình local hả?

2 Likes

local đấy anh :smiley: đó là cái cốt cơ bản thôi :smiley:

1 Like

Push lên thử đi @kayz :slight_smile:

1 Like

done https://github.com/daynhauhoc/sync-wiki/tree/master/public

Greate jobs @kayz . Is this enough 20 chars?

2 Likes

em đang download laravel về ko biết sao mà nó lâu dữ thần vậy :frowning:

Không git rebase nhé. Source public rebase ngang tự sát.

Thay vì thế làm thế này.

Fork project về
$ git clone [link tới con fork]
$ cd sync-wiki
$ git remote add upstream https://github.com/daynhauhoc/sync-wiki
$ git checkout -b my-feature
code quằn tà là vằn ở đây
$ git add [cái list cần add]
$ git commit -m "nội dung commit vô."
$ git pull origin upstream
$ git merge master my-feature
$ git push origin my-feature
Lên github, tương cái PR (Pull Request)
2 Likes

Tại sao không rebase vậy anh? Vì em thấy nhiều code nó rebase trước khi làm.

download lần đầu? Nếu vậy thì nó khó lâu (dù tổng dung lượng nó chưa đến 30MB)

1 Like

làm một mình rebase ko sao, nhưng làm nhiều thằng, đứa nào cũng rebase, lúc coi lại history thì commit tại một điểm base của mainstream (master) sẽ bị mất -> rụng code.
Rebase chỉ an toàn, khi phát triển một mình, hoặc theo team nhưng có chia sẻ quyền write cho các member. Còn fork thì ko biết là các thánh đang nằm ở đâu, nên ko được rebase.

1 Like

À. Okie anh. Hiếm khi làm 1 cái repo public nên không biết.
Thấy bên này nó public cũng rebase nên copy https://github.com/flarum/core

1 Like

Dùng Windows thì chắc chắn chậm rồi.

2 Likes

Và bây giờ là màn copy - paste. Nói là tạo 1 cái boiler-plate của riêng mình hoài mà chưa làm được.
@laptrinhio đặt tên App là gì anh nhỉ ?


Chắc là Sync :stuck_out_tongue:


2 Likes

Nó là rebase -i khác nhé. Phải ngồi pick lựa commit để kéo vào base, tương tự một kiểu cherry-pick nhưng chỉ dùng với đồng hộ code base. Câu lệnh này ko dành cho newbie.

3 Likes
$ php artisan app:name DNHWiki
1 Like

No no, cái namespace file nào cũng gõ mà thế này chắc chệt :smile:
Thôi thì Wiki thôi :smiley:

1 Like

@ltd @laptrinhio @kayz

Đã xong logic cơ bản. Cho vào 2 cái link : Github Link và DNH topic link nó sẽ tự động đồng bộ (asynchronous) :wink:

https://github.com/daynhauhoc/sync-wiki/blob/master/app/Http/Controllers/HomeController.php#L10-L15

Bây giờ qua phần tạo giao diện cơ bản

P/s: bây giờ bài viết đầu tiên sẽ được đồng bộ với Github readme.md của repo này luôn

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?