Linkie will search all files within the directory it’s run and any
subdirectories, and requires a simple YAML config file to run.
You can then run Linkie from the command line.
You can also pass Linkie a YAML file of configuration values (for example
linkie linkie.yaml). The YAML file can contain the following optional
- exclude_directories - Any directories listed will be ignored, these
are relative to the directory Linkie is run from.
- file_types - The file extensions to search for URLs.
- skip_urls - URLs to skip checking.
Example configuration file (these are the default values Linkie uses):
Linkie can also be used within Python:
checker = linkie.Linkie() # Creates a linkie object.
result = checker.run() # Returns 1 if broken links found, otherwise 0.
You can also use a config file within Python:
checker = linkie.Linkie('linkie.yaml') # Creates a linkie object with custom settings.
You can also access the following attributes from the linkie after it’s run:
linkie.urls # Dictionary of processed URLs and their data.
linkie.status_counts # Dictionary of status codes and their counts.
linkie.file_count # Number of files processed.
Why was this created as a Python package?
We required a script to check our repositories for broken links.
This tool was initially written in Python, and a published Python package makes
it easy for repositories to use this tool, in combination with pyup notifying
if the package is updated.
Can you update linkie to support this specific URL?
Probably not. This script was initally created as an internal tool so we are
not actively developing and supporting it compared to our other repositories.
However we have published it freely under the MIT License to allow you to
copy and modify linkie as you wish.
Will you get around to writing proper documentation?
Maybe. This script was initally created as an internal tool so doesn’t have
the same level of polish as other projects we create. If we have more time
down the road, we may spend more time developing linkie.
How do I install the development version as local package?
- $ git clone https://github.com/uccser/linkie.git
- $ cd linkie
- $ pip3 install .