Add README.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5ba380d590
commit
9289cd1450
1 changed files with 71 additions and 0 deletions
71
README.md
Normal file
71
README.md
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
# Missing Link
|
||||
|
||||
A Wikipedia tool that finds articles which mention a topic by name but don't
|
||||
link to it, then lets you add the missing wikilink directly from your browser.
|
||||
|
||||
Live at: https://edwardbetts.com/missinglink/
|
||||
|
||||
## How it works
|
||||
|
||||
1. Enter a Wikipedia article title.
|
||||
2. The tool searches Wikipedia for articles that mention the title but don't
|
||||
include a wikilink to it.
|
||||
3. For each candidate, a diff shows the proposed edit in context.
|
||||
4. Save the edit to Wikipedia with one click (requires a Wikipedia account),
|
||||
or skip to the next candidate.
|
||||
|
||||
Redirect targets are handled automatically — if the title is a redirect,
|
||||
the tool produces a piped link (e.g. `[[Possession of stolen goods|handling stolen goods]]`)
|
||||
and excludes articles that already link to the redirect target.
|
||||
|
||||
## Setup
|
||||
|
||||
### Dependencies
|
||||
|
||||
```
|
||||
pip install flask requests requests-oauthlib simplejson flipflop
|
||||
```
|
||||
|
||||
### Configuration
|
||||
|
||||
Copy `config/default.py` and add your Wikipedia OAuth credentials:
|
||||
|
||||
```python
|
||||
SECRET_KEY = 'your-flask-secret-key'
|
||||
CLIENT_KEY = 'your-oauth-consumer-key'
|
||||
CLIENT_SECRET = 'your-oauth-consumer-secret'
|
||||
```
|
||||
|
||||
Register an OAuth 1.0a consumer at
|
||||
https://meta.wikimedia.org/wiki/Special:OAuthConsumerRegistration/propose
|
||||
|
||||
### Running locally
|
||||
|
||||
```
|
||||
python web_view.py
|
||||
```
|
||||
|
||||
The app listens on `http://0.0.0.0:8000`.
|
||||
|
||||
### Running under Apache mod_fcgid
|
||||
|
||||
The `run.fcgi` entry point is used by Apache. Touch it to reload the app
|
||||
after code changes:
|
||||
|
||||
```
|
||||
touch run.fcgi
|
||||
```
|
||||
|
||||
## Project layout
|
||||
|
||||
```
|
||||
web_view.py Flask application and routes
|
||||
add_links/
|
||||
api.py Wikipedia API client (read, search, diff)
|
||||
match.py Link-finding and wikitext editing logic
|
||||
core.py Search and candidate ranking
|
||||
mediawiki_oauth.py OAuth session management
|
||||
mediawiki_api.py Authenticated write API calls
|
||||
templates/ Jinja2 HTML templates
|
||||
static/ CSS and assets
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue