Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a21d56a2deb6b5b3

Jump to content

Wikipedia:ReFill/technical

From Wikipedia, the free encyclopedia

This page documents the architecture of reFill.

Components

[edit]

Toolbar gadget

[edit]

ReFillLink.js is a gadget that provides a way to submit a page to reFill in a single click.

Front end

[edit]

This is a Vue.js single-page application where the user can enter the wiki page to process, select options, submit the page to the reFill API and check the results.

The front end code is bundled using webpack.

Middle layer

[edit]

Celery is use to queue requests. Key-value data is held in memory using the Redis data store.

Back end

[edit]

The back end code is written in Python and uses the Flask web framework. Docker provides containerization. Citoid is the main parser, called from citoid.py. Citoid is maintained by the Wikimedia Foundation and uses Zotero. The relationship between Citoid and Zotero is described in a tech talk.

Rather than reFill containing code to cope with the vagaries of thousands of different websites, Zotero translators can be created, benefiting other referencing tools used on Wikipedia.

Hosting

[edit]

The production Docker container is hosted on the Toolforge PaaS environment, which uses Kubernetes.

Access to the hosting environment is via PuTTY and WinSCP - PuTTY for SSH command line access, and WinSCP for file transfer.

How to's

[edit]
[edit]