46 lines
2.9 KiB
Markdown
46 lines
2.9 KiB
Markdown
---
|
|
title: "IMDb to Hugo Markdown"
|
|
summary: "Convert a list of IMDb ratings to Markdown files suitable for Hugo"
|
|
date: 2021-08-01T11:56:05+02:00
|
|
categories: ["PHP"]
|
|
|
|
image:
|
|
preview_only: false
|
|
|
|
url_code: "https://github.com/furyfire/imdb-to-hugo-md"
|
|
---
|
|
# Auto-generated content
|
|
By definition, a static page generator does not support dynamic data.
|
|
|
|
Here I implement a solution that generates Markdown files for the Hugo page generator.
|
|
|
|
# IMDb
|
|
I have used the IMDb service for years. I rate every movie I watch and use it as a reminder to myself of what movies I need to watch and which movies I have watched. (See https://www.imdb.com/user/ur25404390/ratings). Currently my list is well over 650 movies and counting. IMDb allows for exporting the list to CSV format, the CSV file
|
|
|
|
The following fields are avaible in the CSV file.
|
|
| Field | Description |
|
|
|----------------|-----------------------------------------------------------------------------------------------|
|
|
| Const | IMDb identifier |
|
|
| Your Rating | Your rating (0-10) |
|
|
| Date Rated | Date rated (YYYY-MM-DD) |
|
|
| Title | - |
|
|
| URL | Direct URL to the IMDb page |
|
|
| Title Type | Movie/TV Series/TV Episode/TV Mini Series/TV Movie/TV Special/TV Short/Video Game/Video/Short |
|
|
| IMDb Rating | Average IMDb Rating (0-10 with 1 digit) |
|
|
| Runtime (mins) | - |
|
|
| Year | Release year. |
|
|
| Genres | Comma separated list of genres |
|
|
| Num Votes | Number of votes |
|
|
| Release Date | Official release date (YYYY-MM-DD) |
|
|
| Directors | In quotes and comma separated if more than one. |
|
|
|
|
|
|
# Implementation
|
|
I opted to use PHP for the implementation and the composer package manager.
|
|
|
|
- To parse the CSV file I use the library leauge/csv. (https://csv.thephpleague.com/)
|
|
- To scrape additional movie information from IMDb I used the library imdbphp/imdbphp. (https://github.com/tboothman/imdbphp)
|
|
- To generate output .md files I used the Twig template engine. (https://twig.symfony.com/)
|
|
|
|
|