An Act to provide an effective system for the use and protection of personal data; regulate the collection, use, transmission, storage and otherwise processing of personal data; establish the Office of the Data Protection Commissioner and provide for its functions; the registration of data controllers and licencing of data auditors; provide for the duties of data controllers and data processors; provide for the rights of data subjects; and provide for matters connected with, or incidental to, the foregoing.
Powered by Material for MkDocs, this project transforms a traditionally dense and difficult to navigate PDF of the aforementioned Act into an easily navigable, searchable, and visually appealing online resource.
Navigating legislative documents can be daunting and often results in a headache. This project was born out of the desire to make the process of understanding the Act more approachable and less painful.
This is the approach I took:
- Download the original pdf from the National Assembly of Zambia website.
- Use Adobe Acrobat Online PDF to Word Converter to convert the pdf to a
docx
file. - Use pandoc to convert the
docx
file to Markdown (based on this gist):
pandoc \
-t markdown_strict \
--extract-media='./attachments/source' \
source.docx \
-o output.md
- Copy / paste the content, and clean up where the formatting is incorrect.
Warning
The formatting of the Pandoc-generated output was not 100% accurate. While I have made every effort to correct formatting issues and other minor bugs, you might encounter some typos, incorrect numbering, or potentially missing content.
If you notice any of these issues, please help in fixing them by opening an issue or submitting a pull request. Your contributions are greatly appreciated.
Gracias
You need to have Python 3.12 and Poetry installed on your machine. If, for some reason, you have a different python version, you can use pyenv to install multiple python versions on your machine. Once you have Python 3.12 installed, create a virtual environment.
Note
If you have a different Python version and/or you don't have Poetry, try installing the python dependencies via pip install -r requirements.txt
Here, we assume that you have git
on your machine, and that you have created a Python 3.12 virtual environment.
Now, upon cloning this repository (or forking + cloning your fork), navigate to the cloned project directory.
-
In your virtual environment, install Python dependencies
poetry install
-
Run the following in your shell:
mkdocs serve
The documentation will be available at: http://127.0.0.1:8001/
This project follows the all-contributors specification. Contributions are most welcome! A good place to start is by helping out with the unchecked items in the TODO section of this README!
Feel free to check the issues page and take a look at the contributing guide before you get started.
- where reference is made to other sections, use hyperlinks to link to those sections
I do not own the copyright to the contents of the aforementioned Act. The text of the Act is a public document, and this project aims to make it more accessible and user-friendly. Any modifications or enhancements to the presentation are my own work, and permission is granted to copy, distribute and/or modify this work under the terms of the GNU Free Documentation License as published by the Free Software Foundation, either version 1.3, or (at your option) any later version; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is contained in the file COPYING
.