Rename the project to xrefcheck

Problem: the previous name `crossref-verifier` was found long and
boring.

Solution: rename to `xrefcheck`.
This commit is contained in:
martoon 2020-01-13 15:58:14 +03:00
parent 38bd3b7920
commit fd949bc3c8
No known key found for this signature in database
GPG Key ID: FF02288E36C0E4B0
8 changed files with 43 additions and 43 deletions

View File

@ -3,14 +3,14 @@
# SPDX-License-Identifier: MPL-2.0 # SPDX-License-Identifier: MPL-2.0
steps: steps:
- command: nix-build crossref-verifier.nix - command: nix-build xrefcheck.nix
label: Library and tests label: Library and tests
- command: nix-build - command: nix-build
label: Executable label: Executable
artifact_paths: artifact_paths:
- "result/bin/crossref-verify" - "result/bin/xrefcheck"
- command: nix run -f. -c crossref-verify - command: nix run -f. -c xrefcheck
label: Crossref-verify itself label: Xrefcheck itself
- command: nix run -f $(nix eval -f nix/sources.nix --raw nixpkgs) reuse -c reuse lint - command: nix run -f $(nix eval -f nix/sources.nix --raw nixpkgs) reuse -c reuse lint
label: REUSE lint label: REUSE lint
- command: - command:

View File

@ -8,7 +8,7 @@
## Reporting issues ## Reporting issues
Please [open an issue](https://github.com/serokell/crossref-verifier/issues/new/choose) if you find a bug or have a feature request. Please [open an issue](https://github.com/serokell/xrefcheck/issues/new/choose) if you find a bug or have a feature request.
Note: you need to login (e. g. using your GitHub account) first. Note: you need to login (e. g. using your GitHub account) first.
Before submitting a bug report or feature request, check to make sure it hasn't already been submitted Before submitting a bug report or feature request, check to make sure it hasn't already been submitted

View File

@ -4,17 +4,17 @@
- SPDX-License-Identifier: MPL-2.0 - SPDX-License-Identifier: MPL-2.0
--> -->
# Crossref-verifier # Xrefcheck
[![Build status](https://badge.buildkite.com/75461331a6058b334383cdfca1071dc1f908b70cf069d857b7.svg?branch=master)](https://buildkite.com/serokell/crossref-verifier) [![Build status](https://badge.buildkite.com/75461331a6058b334383cdfca1071dc1f908b70cf069d857b7.svg?branch=master)](https://buildkite.com/serokell/xrefcheck)
Crossref-verifier is a tool for verifying local and external references in repository documentation that is quick, easy to setup, and suitable to be added to CI. Xrefcheck is a tool for verifying local and external references in repository documentation that is quick, easy to setup, and suitable to be added to CI.
<img src="https://user-images.githubusercontent.com/5394217/70820564-06b06e00-1dea-11ea-9680-27f661ca2a58.png" alt="Output sample" width="600"/> <img src="https://user-images.githubusercontent.com/5394217/70820564-06b06e00-1dea-11ea-9680-27f661ca2a58.png" alt="Output sample" width="600"/>
### Motivation ### Motivation
As the project evolves, links in documentation have a tendency to get broken. This is usually because of: As the project evolves, links in documentation have a tendency to get broken. This is usually because of:
1. File movements; 1. File movements;
2. Markdown header renames; 2. Markdown header renames;
3. Outer sites ceasing their existence. 3. Outer sites ceasing their existence.
@ -45,18 +45,18 @@ Both relative and absolute local links are supported out of the box.
* [url-checker](https://github.com/paramt/url-checker) - GitHub action which checks links in specified files. * [url-checker](https://github.com/paramt/url-checker) - GitHub action which checks links in specified files.
* [broken-link-checker](https://github.com/stevenvachon/broken-link-checker) - advanced checker for `HTML` files. * [broken-link-checker](https://github.com/stevenvachon/broken-link-checker) - advanced checker for `HTML` files.
## Build instructions [](#crossref-verifier) ## Build instructions [](#xrefcheck)
Run `stack install` to build everything and install the executable. Run `stack install` to build everything and install the executable.
### CI and nix [](#crossref-verifier) ### CI and nix [](#xrefcheck)
To build only the executables, run `nix-build`. You can use this line on your CI to use crossref-verifier: To build only the executables, run `nix-build`. You can use this line on your CI to use xrefcheck:
``` ```
nix run -f https://github.com/serokell/crossref-verifier/archive/master.tar.gz -c crossref-verify nix run -f https://github.com/serokell/xrefcheck/archive/master.tar.gz -c xrefcheck
``` ```
Our CI uses `nix-build crossref-verifier.nix` to build the whole project, including tests and Haddock. Our CI uses `nix-build xrefcheck.nix` to build the whole project, including tests and Haddock.
It is based on the [`haskell.nix`](https://input-output-hk.github.io/haskell.nix/) project. It is based on the [`haskell.nix`](https://input-output-hk.github.io/haskell.nix/) project.
You can do that too if you wish. You can do that too if you wish.
@ -66,31 +66,31 @@ You can do that too if you wish.
There is a [bug](https://github.com/input-output-hk/haskell.nix/issues/335) which causes us to put some redundancy into Nix files: There is a [bug](https://github.com/input-output-hk/haskell.nix/issues/335) which causes us to put some redundancy into Nix files:
1. [`nix/sources.json`](nix/sources.json) lists all such dependencies that we obtain using `git`. 1. [`nix/sources.json`](nix/sources.json) lists all such dependencies that we obtain using `git`.
It specifies concrete git revisions and SHA256 checksums. It specifies concrete git revisions and SHA256 checksums.
2. [`crossref-verifier.nix`](crossref-verifier.nix) lists all such dependencies as well, but without revisions. 2. [`xrefcheck.nix`](xrefcheck.nix) lists all such dependencies as well, but without revisions.
As a consequence, you may have to update these files when you update [`stack.yaml`](stack.yaml). As a consequence, you may have to update these files when you update [`stack.yaml`](stack.yaml).
You can use [`niv update`](https://github.com/nmattia/niv#update) to update [`nix/sources.json`](nix/sources.json). You can use [`niv update`](https://github.com/nmattia/niv#update) to update [`nix/sources.json`](nix/sources.json).
</details> </details>
## Usage [](#crossref-verifier) ## Usage [](#xrefcheck)
To find all broken links in a repository, run from within its folder: To find all broken links in a repository, run from within its folder:
```sh ```sh
crossref-verify xrefcheck
``` ```
To also display all found links and anchors: To also display all found links and anchors:
```sh ```sh
crossref-verify -v xrefcheck -v
``` ```
For description of other options: For description of other options:
```sh ```sh
crossref-verify --help xrefcheck --help
``` ```
## Configuring ## Configuring
@ -98,31 +98,31 @@ crossref-verify --help
Configuration template (with all options explained) can be dumped with: Configuration template (with all options explained) can be dumped with:
```sh ```sh
crossref-verify dump-config xrefcheck dump-config
``` ```
Currently supported options include: Currently supported options include:
* Timeout for checking external references; * Timeout for checking external references;
* List of ignored folders. * List of ignored folders.
## For further work [](#crossref-verifier) ## For further work [](#xrefcheck)
- [ ] Support for non-Unix systems. - [ ] Support for non-Unix systems.
- [ ] Support link detection in different languages, not only Markdown. - [ ] Support link detection in different languages, not only Markdown.
- [ ] Haskell Haddock is first in turn. - [ ] Haskell Haddock is first in turn.
## Issue tracker [](#crossref-verifier) ## Issue tracker [](#xrefcheck)
We use GitHub issues as our issue tracker. We use GitHub issues as our issue tracker.
You can login using your GitHub account to leave a comment or create a new issue. You can login using your GitHub account to leave a comment or create a new issue.
## For Contributors [](#crossref-verifier) ## For Contributors [](#xrefcheck)
Please see [CONTRIBUTING.md](/.github/CONTRIBUTING.md) for more information. Please see [CONTRIBUTING.md](/.github/CONTRIBUTING.md) for more information.
## About Serokell [](#crossref-verifier) ## About Serokell [](#xrefcheck)
Crossref-verifier is maintained and funded with ❤️ by [Serokell](https://serokell.io/). Xrefcheck is maintained and funded with ❤️ by [Serokell](https://serokell.io/).
The names and logo for Serokell are trademark of Serokell OÜ. The names and logo for Serokell are trademark of Serokell OÜ.
We love open source software! See [our other projects](https://serokell.io/community?utm_source=github) or [hire us](https://serokell.io/hire-us?utm_source=github) to design, develop and grow your idea! We love open source software! See [our other projects](https://serokell.io/community?utm_source=github) or [hire us](https://serokell.io/hire-us?utm_source=github) to design, develop and grow your idea!

View File

@ -2,4 +2,4 @@
# #
# SPDX-License-Identifier: MPL-2.0 # SPDX-License-Identifier: MPL-2.0
(import ./crossref-verifier.nix {}).components.exes.crossref-verify (import ./xrefcheck.nix {}).components.exes.xrefcheck

View File

@ -2,9 +2,9 @@
# #
# SPDX-License-Identifier: MPL-2.0 # SPDX-License-Identifier: MPL-2.0
name: crossref-verifier name: xrefcheck
version: 0.1.0.0 version: 0.1.0.0
github: serokell/crossref-verifier github: serokell/xrefcheck
license: MPL-2.0 license: MPL-2.0
license-file: LICENSE license-file: LICENSE
author: Kostya Ivanov, Serokell author: Kostya Ivanov, Serokell
@ -15,7 +15,7 @@ extra-source-files:
- README.md - README.md
- src-files/* - src-files/*
description: Please see the README on GitHub at <https://github.com/serokell/crossref-verifier#readme> description: Please see the README on GitHub at <https://github.com/serokell/xrefcheck#readme>
default-extensions: default-extensions:
- AllowAmbiguousTypes - AllowAmbiguousTypes
@ -90,7 +90,7 @@ library:
source-dirs: src source-dirs: src
executables: executables:
crossref-verify: xrefcheck:
main: Main.hs main: Main.hs
source-dirs: exec source-dirs: exec
ghc-options: ghc-options:
@ -99,14 +99,14 @@ executables:
- -with-rtsopts=-N - -with-rtsopts=-N
- -O2 - -O2
dependencies: dependencies:
- crossref-verifier - xrefcheck
tests: tests:
crossref-verifier-tests: xrefcheck-tests:
main: Main.hs main: Main.hs
source-dirs: tests source-dirs: tests
dependencies: dependencies:
- crossref-verifier - xrefcheck
- hspec - hspec
- QuickCheck - QuickCheck
build-tools: build-tools:

View File

@ -4,16 +4,16 @@
{ pkgs ? import (import ../nix/sources.nix).nixpkgs { } }: { pkgs ? import (import ../nix/sources.nix).nixpkgs { } }:
let let
executable = (import ../crossref-verifier.nix { executable = (import ../xrefcheck.nix {
static = true; static = true;
}).components.exes.crossref-verify; }).components.exes.xrefcheck;
joinByBasename = name: paths: joinByBasename = name: paths:
pkgs.runCommandNoCC name { } ('' pkgs.runCommandNoCC name { } (''
mkdir $out mkdir $out
'' + pkgs.lib.concatMapStrings (path: '' '' + pkgs.lib.concatMapStrings (path: ''
ln -s ${path} $out/${builtins.baseNameOf path} ln -s ${path} $out/${builtins.baseNameOf path}
'') paths); '') paths);
in joinByBasename "crossref-verifier-release" [ in joinByBasename "xrefcheck-release" [
"${executable}/bin" "${executable}/bin"
../LICENSES ../LICENSES
../README.md ../README.md

View File

@ -19,7 +19,7 @@ import Data.Version (showVersion)
import Options.Applicative (Parser, ReadM, command, eitherReader, execParser, fullDesc, help, import Options.Applicative (Parser, ReadM, command, eitherReader, execParser, fullDesc, help,
helper, hsubparser, info, infoOption, long, metavar, option, progDesc, helper, hsubparser, info, infoOption, long, metavar, option, progDesc,
short, strOption, switch, value) short, strOption, switch, value)
import Paths_crossref_verifier (version) import Paths_xrefcheck (version)
import Crv.Core import Crv.Core
@ -52,7 +52,7 @@ data Options = Options
-- | Where to try to seek configuration if specific path is not set. -- | Where to try to seek configuration if specific path is not set.
defaultConfigPaths :: [FilePath] defaultConfigPaths :: [FilePath]
defaultConfigPaths = ["./crossref-verifier.yaml", "./.crossref-verifier.yaml"] defaultConfigPaths = ["./xrefcheck.yaml", "./.xrefcheck.yaml"]
optionsParser :: Parser Options optionsParser :: Parser Options
optionsParser = do optionsParser = do
@ -99,7 +99,7 @@ dumpConfigOptions = hsubparser $
short 'o' <> short 'o' <>
long "output" <> long "output" <>
metavar "FILEPATH" <> metavar "FILEPATH" <>
value ".crossref-verifier.yaml" <> value ".xrefcheck.yaml" <>
help "Name of created config file." help "Name of created config file."
totalParser :: Parser Command totalParser :: Parser Command
@ -109,7 +109,7 @@ totalParser = asum
] ]
versionOption :: Parser (a -> a) versionOption :: Parser (a -> a)
versionOption = infoOption ("crossref-verify-" <> (showVersion version)) $ versionOption = infoOption ("xrefcheck-" <> (showVersion version)) $
long "version" <> long "version" <>
help "Show version." help "Show version."

View File

@ -13,12 +13,12 @@ let
project = hn.stackProject { project = hn.stackProject {
src = hn.haskellLib.cleanGit { src = ./.; }; src = hn.haskellLib.cleanGit { src = ./.; };
modules = [{ modules = [{
packages.crossref-verifier = { packages.xrefcheck = {
# More failures during CI == Less failures in runtime! # More failures during CI == Less failures in runtime!
postHaddock = '' postHaddock = ''
[[ -z "$(ls -A dist/doc/html)" ]] && exit 1 || echo "haddock successfully generated documentation"''; [[ -z "$(ls -A dist/doc/html)" ]] && exit 1 || echo "haddock successfully generated documentation"'';
package.ghcOptions = "-Werror"; package.ghcOptions = "-Werror";
components.exes.crossref-verify.configureFlags = components.exes.xrefcheck.configureFlags =
with nixpkgs.pkgsStatic; with nixpkgs.pkgsStatic;
lib.optionals static [ lib.optionals static [
"--disable-executable-dynamic" "--disable-executable-dynamic"
@ -42,4 +42,4 @@ let
subdir = "code/prelude"; subdir = "code/prelude";
}]; }];
}; };
in project.crossref-verifier in project.xrefcheck