Skip to content

narze/ratchagitja.md

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ratchagitja.md

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

Ratchagitja Midjourney Cover

Rules

  • แปลงตรงตามตัวอักษร
  • ตัวเลขไทยทั้งหมดแปลงเป็นเลขอารบิก (ใช้ UnSarabun ช่วยได้)
  • Example Template
  • มี Metadata ที่จำเป็น (ใช้ YAML Frontmatter)
    • name: ซื่อประกาศ
    • date: วันที่ yyyy-mm-dd
    • category: ประเภท
    • volume: เล่ม
    • section: ตอนที่
    • page: หน้า
    • source: URL ที่มาของประกาศ
    • อื่นๆ (ถ้ามี)
  • ตัดข้อมูลที่ไม่จำเป็นออกไป เช่น หัวกระดาษ (Page Header)

* หมายเหตุ

ถ้ามีข้อมูลที่แปลงเป็นตัวอักษรไม่ได้ เช่น รูปภาพ หรือ ตารางข้อมูลที่มีขนาดใหญ่มาก ให้เขียนเป็นหมายเหตุเอาไว้ก่อน แล้วจะแก้ไขให้เป็น 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")
Loading

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
Loading

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

  • เลือกราชกิจจานุเบกษาจากเว็บไซต์ https://ratchakitcha.soc.go.th แปลงเป็น Markdown หรือ txt แล้วเปิด Pull Request
  • สร้าง Issue เพื่อเสนอแนะ หรือ แจ้งปัญหา
  • ช่วยกันตรวจสอบความถูกต้องของข้อมูลใน Pull Request