narze / ratchagitja.md

แปลราชกิจจานุเบกษา
https://ratchagitja.vercel.app
36 stars 19 forks source link

Ratchagitja.md

แปลงราชกิจจานุเบกษา ให้เป็นรูปแบบที่คอมพิวเตอร์อ่านและประมวลผลต่อได้ง่ายขึ้น

Ratchagitja Midjourney Cover

Rules

* หมายเหตุ

ถ้ามีข้อมูลที่แปลงเป็นตัวอักษรไม่ได้ เช่น รูปภาพ หรือ ตารางข้อมูลที่มีขนาดใหญ่มาก ให้เขียนเป็นหมายเหตุเอาไว้ก่อน แล้วจะแก้ไขให้เป็น Markdown หรือ HTML ต่อไป

System design

C4Component
  System_Ext(facebook, "Facebook API")
  System_Ext(ratchakitcha, "Ratchakitcha Website")
  Boundary(b1, "Ratchagitja") {
    System(scraper, "Scraper", "Github Action")
    System(extractor, "Extractor", "Github Action")
  }
  Boundary(b2, "Git repository") {
    ComponentDb(csv, "CSV file")
    ComponentDb(markdown, "Markdown files")
  }
  Rel(scraper, ratchakitcha, "download Excel")
  UpdateRelStyle(scraper, ratchakitcha, $offsetY="-50")
  Rel(scraper, facebook, "create post")
  UpdateRelStyle(scraper, facebook, $offsetY="-50")
  Rel(scraper, csv, "generate")
  Rel(extractor, csv, "read CSV")
  Rel(extractor, ratchakitcha, "download PDF")
  UpdateRelStyle(extractor, ratchakitcha, $offsetY="-50")
  Rel(extractor, markdown, "generate")
  UpdateLayoutConfig($c4ShapeInRow="2", $c4BoundaryInRow="1")

Workflows

flowchart TB
  subgraph Scraper
    download(Download Excel)
    convert(Update to CSV)
    filters(Filter CSV)
    post(Post changes to Facebook)
    download --> convert
    convert --> filters
    filters --> post
  end
  subgraph Extractor
    load(Read CSV)
    pdf(Downlaod PDF)
    extract(Extract PDF)
    save(Save to Markdown)
    filters --> load
    load --> pdf
    pdf --> extract
    extract --> save
  end

Project layout

├── data
│   ├── filter.json                      - list of filters by title start with
│   ├── ratchakitcha.csv                 - list of ratchakitcha CSV file
│   ├── ratchakitcha_filtered.csv        - filtered list of ratchakitcha CSV file
├── entries                              - ratchakitcha Markdown files, path `category/volume/section/id.md`
│   ├── ก                                - categories directories
|   │   ├── 139                          - volumes directories
|   │   │   ├── 61                       - sections directories
|   │   │   │   ├── 17224570.md          - ratchakitcha Markdown file
├── extractor                            - extractor script for download PDF and extract to Markdown files           
└── scraper                              - scraper script for download Excel and parser to CSV

Contribution