---
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/)


