A web-based collaborative LaTeX editor
Find a file
Antoine Clausse 3d5418611b Add an ESLint rule enforcing kebab-case in URL paths (#18913)
* Add a tsconfig.json to the eslint-plugin folder so it can be linted too

* Create eslint rule `prefer-kebab-url`

* Add prefer-kebab-url to service/web

* Ignore lowercased strings

Prevents from trying to change `v0` to `v-0`

* Ignore parts between brackets or parenthesis

* Record in URL paths by case

lower: 241
kebab: 60
snake: 43
camel: 22
other: 5

* Revert "Record in URL paths by case"

This reverts commit 262f483aafb0daa1a01e9025488cdc33f31ef67c.

* Showcase how the autofix would change the code

* Revert "Showcase how the autofix would change the code"

This reverts commit f045292bf01623de2df5b89fc0d68737a39913dc.

* Add ignored words so we don't have to update old code

* Change the rule so it suggests instead of fixing

This prevents eslint autofix from creating bugs

* Move list of ignored words to its own file

Per https://github.com/overleaf/internal/pull/18913#discussion_r1644204034

* Add comment explaining the ignore list

GitOrigin-RevId: d13918b0bcba9d77120f1b61b354a79dc8fb4b4e
2024-06-24 12:04:26 +00:00
.github Merge pull request #4855 from overleaf/jpa-public-github-templates 2021-08-23 11:31:06 +00:00
develop [web] Rebrand public access environment variables (#17013) 2024-02-14 09:04:25 +00:00
doc Merge pull request #9134 from overleaf/ae-server-ce-readme 2022-08-12 08:05:57 +00:00
libraries Merge pull request #18906 from overleaf/em-migrate-existing-histories-2 2024-06-19 08:05:02 +00:00
patches Remove Angular (#17534) 2024-06-06 08:04:09 +00:00
server-ce Merge pull request #19023 from overleaf/jpa-issue-19016 2024-06-24 12:04:00 +00:00
services Add an ESLint rule enforcing kebab-case in URL paths (#18913) 2024-06-24 12:04:26 +00:00
.gitignore Merge pull request #4734 from overleaf/jpa-server-ce-build 2021-08-17 08:03:11 +00:00
CONTRIBUTING.md Link to global security policy 2023-03-10 09:04:40 +00:00
docker-compose.debug.yml Merge pull request #14857 from overleaf/jpa-server-pro-web-api 2023-09-19 08:03:57 +00:00
docker-compose.yml Merge pull request #16923 from overleaf/jpa-server-pro-fs-rebranding 2024-02-12 09:03:39 +00:00
LICENSE Merge remote-tracking branch 'dev-env/jpa-monorepo' into main 2021-08-05 08:03:43 +00:00
package-lock.json Add an ESLint rule enforcing kebab-case in URL paths (#18913) 2024-06-24 12:04:26 +00:00
package.json Merge pull request #18389 from overleaf/td-bs5-move-sass-npm-packages 2024-05-30 08:04:11 +00:00
README.md Merge pull request #18458 from overleaf/lg-copyright-year 2024-05-27 10:23:37 +00:00
tsconfig.backend.json Merge pull request #18167 from overleaf/em-simpler-typescript-backend 2024-05-07 08:04:00 +00:00


Overleaf

An open-source online real-time collaborative LaTeX editor.

WikiServer ProContributingMailing ListAuthorsLicense

A screenshot of a project being edited in Overleaf Community Edition

Figure 1: A screenshot of a project being edited in Overleaf Community Edition.

Community Edition

Overleaf is an open-source online real-time collaborative LaTeX editor. We run a hosted version at www.overleaf.com, but you can also run your own local version, and contribute to the development of Overleaf.

Enterprise

If you want help installing and maintaining Overleaf in your lab or workplace, we offer an officially supported version called Overleaf Server Pro. It also includes more features for security (SSO with LDAP or SAML), administration and collaboration (e.g. tracked changes). Find out more!

Keeping up to date

Sign up to the mailing list to get updates on Overleaf releases and development.

Installation

We have detailed installation instructions in the Overleaf Toolkit.

Upgrading

If you are upgrading from a previous version of Overleaf, please see the Release Notes section on the Wiki for all of the versions between your current version and the version you are upgrading to.

Overleaf Docker Image

This repo contains two dockerfiles, Dockerfile-base, which builds the sharelatex/sharelatex-base image, and Dockerfile which builds the sharelatex/sharelatex (or "community") image.

The Base image generally contains the basic dependencies like wget and aspell, plus texlive. We split this out because it's a pretty heavy set of dependencies, and it's nice to not have to rebuild all of that every time.

The sharelatex/sharelatex image extends the base image and adds the actual Overleaf code and services.

Use make build-base and make build-community from server-ce/ to build these images.

We use the Phusion base-image (which is extended by our base image) to provide us with a VM-like container in which to run the Overleaf services. Baseimage uses the runit service manager to manage services, and we add our init-scripts from the server-ce/runit folder.

Contributing

Please see the CONTRIBUTING file for information on contributing to the development of Overleaf.

Authors

The Overleaf Team

License

The code in this repository is released under the GNU AFFERO GENERAL PUBLIC LICENSE, version 3. A copy can be found in the LICENSE file.

Copyright (c) Overleaf, 2014-2024.