30/09/2018, 16:40

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

Nguyễn Minh Dũng viết 18:42 ngày 30/09/2018

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

Continuing the discussion from Tổng hợp - Open source project - Wiki posts - PHP:
Khoa Nguyen viết 18:43 ngày 30/09/2018

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

Nguyễn Minh Dũng viết 18:52 ngày 30/09/2018

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

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

Đinh Quốc Hân viết 18:42 ngày 30/09/2018

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

Khoa Nguyen viết 18:55 ngày 30/09/2018

Push lên thử đi @kayz

Đinh Quốc Hân viết 18:41 ngày 30/09/2018

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

Khoa Nguyen viết 18:47 ngày 30/09/2018

Greate jobs @kayz . Is this enough 20 chars?

Đinh Quốc Hân viết 18:56 ngày 30/09/2018

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

Lập Trình Sư viết 18:49 ngày 30/09/2018

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)
Khoa Nguyen viết 18:43 ngày 30/09/2018

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

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

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

Khoa Nguyen viết 18:45 ngày 30/09/2018

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

Lập Trình Sư viết 18:50 ngày 30/09/2018

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.

Khoa Nguyen viết 18:53 ngày 30/09/2018

À. 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

Lập Trình Sư viết 18:45 ngày 30/09/2018

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

Khoa Nguyen viết 18:43 ngày 30/09/2018

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


Lập Trình Sư viết 18:42 ngày 30/09/2018

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.

Lập Trình Sư viết 18:56 ngày 30/09/2018
$ php artisan app:name diễn đànWiki
Khoa Nguyen viết 18:56 ngày 30/09/2018

$ php artisan app:name diễn đànWiki

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

Khoa Nguyen viết 18:49 ngày 30/09/2018

@ltd @laptrinhio @kayz

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

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

Bài liên quan
0