# Open Encyclopedia
A clean-room, independent encyclopedia reader inspired by the public reading experience of English Wikipedia. It uses no copied branding or application code. Articles and the editorial Main Page are fetched live from English Wikipedia and remain attributed to Wikipedia's contributors; follow the original-page and contributor-history links in the footer for attribution, licensing details, and image credits.
## Run
Requires Python 3 and an internet connection. From this directory:
```sh
python3 server.py
```
Open http://localhost:8000. Set `PORT` to use another port, for example `PORT=8080 python3 server.py`. No build step, package install, API key or account is needed. The included server serves `index.html` for `/wiki/...` paths so direct links and reloads work. For other hosts, serve at the domain root and configure the same SPA fallback; `/?page=Article_title` also works on simple static servers.
## How it works
The browser calls the public MediaWiki Action API with `origin=*`. `action=parse` supplies rendered article and Main Page HTML; page headings generate the contents rail. `action=opensearch` supplies search suggestions and `action=query&list=search` supplies full results. Language links and random pages use the query API. Internal article links are routed inside the reader, including browser back/forward and section fragments. Media and references remain linked to their original public sources. Text size, width and color preferences are stored in localStorage.
This is a reading-focused implementation, not a MediaWiki installation: editing, histories, account management, special pages, donation and specialized tools open the real Wikipedia. Some interactive templates and special pages depend on MediaWiki scripts and may not work in this reader. The language menu displays up to 100 languages. Internet availability, CORS, upstream rate limits and changing API responses can affect content; page load errors offer a retry. Requests go directly from the browser to Wikipedia, exposing the usual network information to that service. No credentials are collected by this app.