mirror of
https://github.com/serokell/xrefcheck.git
synced 2024-08-16 17:10:26 +03:00
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:
parent
38bd3b7920
commit
fd949bc3c8
@ -3,14 +3,14 @@
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
steps:
|
||||
- command: nix-build crossref-verifier.nix
|
||||
- command: nix-build xrefcheck.nix
|
||||
label: Library and tests
|
||||
- command: nix-build
|
||||
label: Executable
|
||||
artifact_paths:
|
||||
- "result/bin/crossref-verify"
|
||||
- command: nix run -f. -c crossref-verify
|
||||
label: Crossref-verify itself
|
||||
- "result/bin/xrefcheck"
|
||||
- command: nix run -f. -c xrefcheck
|
||||
label: Xrefcheck itself
|
||||
- command: nix run -f $(nix eval -f nix/sources.nix --raw nixpkgs) reuse -c reuse lint
|
||||
label: REUSE lint
|
||||
- command:
|
||||
|
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@ -8,7 +8,7 @@
|
||||
|
||||
## 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.
|
||||
Before submitting a bug report or feature request, check to make sure it hasn't already been submitted
|
||||
|
||||
|
38
README.md
38
README.md
@ -4,11 +4,11 @@
|
||||
- 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"/>
|
||||
|
||||
@ -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.
|
||||
* [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.
|
||||
|
||||
### 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.
|
||||
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:
|
||||
1. [`nix/sources.json`](nix/sources.json) lists all such dependencies that we obtain using `git`.
|
||||
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).
|
||||
You can use [`niv update`](https://github.com/nmattia/niv#update) to update [`nix/sources.json`](nix/sources.json).
|
||||
|
||||
</details>
|
||||
|
||||
## Usage [↑](#crossref-verifier)
|
||||
## Usage [↑](#xrefcheck)
|
||||
|
||||
To find all broken links in a repository, run from within its folder:
|
||||
|
||||
```sh
|
||||
crossref-verify
|
||||
xrefcheck
|
||||
```
|
||||
|
||||
To also display all found links and anchors:
|
||||
|
||||
```sh
|
||||
crossref-verify -v
|
||||
xrefcheck -v
|
||||
```
|
||||
|
||||
For description of other options:
|
||||
|
||||
```sh
|
||||
crossref-verify --help
|
||||
xrefcheck --help
|
||||
```
|
||||
|
||||
## Configuring
|
||||
@ -98,31 +98,31 @@ crossref-verify --help
|
||||
Configuration template (with all options explained) can be dumped with:
|
||||
|
||||
```sh
|
||||
crossref-verify dump-config
|
||||
xrefcheck dump-config
|
||||
```
|
||||
|
||||
Currently supported options include:
|
||||
* Timeout for checking external references;
|
||||
* List of ignored folders.
|
||||
|
||||
## For further work [↑](#crossref-verifier)
|
||||
## For further work [↑](#xrefcheck)
|
||||
|
||||
- [ ] Support for non-Unix systems.
|
||||
- [ ] Support link detection in different languages, not only Markdown.
|
||||
- [ ] Haskell Haddock is first in turn.
|
||||
|
||||
## Issue tracker [↑](#crossref-verifier)
|
||||
## Issue tracker [↑](#xrefcheck)
|
||||
|
||||
We use GitHub issues as our issue tracker.
|
||||
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.
|
||||
|
||||
## 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Ü.
|
||||
|
||||
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!
|
||||
|
@ -2,4 +2,4 @@
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
(import ./crossref-verifier.nix {}).components.exes.crossref-verify
|
||||
(import ./xrefcheck.nix {}).components.exes.xrefcheck
|
||||
|
14
package.yaml
14
package.yaml
@ -2,9 +2,9 @@
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
name: crossref-verifier
|
||||
name: xrefcheck
|
||||
version: 0.1.0.0
|
||||
github: serokell/crossref-verifier
|
||||
github: serokell/xrefcheck
|
||||
license: MPL-2.0
|
||||
license-file: LICENSE
|
||||
author: Kostya Ivanov, Serokell
|
||||
@ -15,7 +15,7 @@ extra-source-files:
|
||||
- README.md
|
||||
- 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:
|
||||
- AllowAmbiguousTypes
|
||||
@ -90,7 +90,7 @@ library:
|
||||
source-dirs: src
|
||||
|
||||
executables:
|
||||
crossref-verify:
|
||||
xrefcheck:
|
||||
main: Main.hs
|
||||
source-dirs: exec
|
||||
ghc-options:
|
||||
@ -99,14 +99,14 @@ executables:
|
||||
- -with-rtsopts=-N
|
||||
- -O2
|
||||
dependencies:
|
||||
- crossref-verifier
|
||||
- xrefcheck
|
||||
|
||||
tests:
|
||||
crossref-verifier-tests:
|
||||
xrefcheck-tests:
|
||||
main: Main.hs
|
||||
source-dirs: tests
|
||||
dependencies:
|
||||
- crossref-verifier
|
||||
- xrefcheck
|
||||
- hspec
|
||||
- QuickCheck
|
||||
build-tools:
|
||||
|
@ -4,16 +4,16 @@
|
||||
|
||||
{ pkgs ? import (import ../nix/sources.nix).nixpkgs { } }:
|
||||
let
|
||||
executable = (import ../crossref-verifier.nix {
|
||||
executable = (import ../xrefcheck.nix {
|
||||
static = true;
|
||||
}).components.exes.crossref-verify;
|
||||
}).components.exes.xrefcheck;
|
||||
joinByBasename = name: paths:
|
||||
pkgs.runCommandNoCC name { } (''
|
||||
mkdir $out
|
||||
'' + pkgs.lib.concatMapStrings (path: ''
|
||||
ln -s ${path} $out/${builtins.baseNameOf path}
|
||||
'') paths);
|
||||
in joinByBasename "crossref-verifier-release" [
|
||||
in joinByBasename "xrefcheck-release" [
|
||||
"${executable}/bin"
|
||||
../LICENSES
|
||||
../README.md
|
||||
|
@ -19,7 +19,7 @@ import Data.Version (showVersion)
|
||||
import Options.Applicative (Parser, ReadM, command, eitherReader, execParser, fullDesc, help,
|
||||
helper, hsubparser, info, infoOption, long, metavar, option, progDesc,
|
||||
short, strOption, switch, value)
|
||||
import Paths_crossref_verifier (version)
|
||||
import Paths_xrefcheck (version)
|
||||
|
||||
import Crv.Core
|
||||
|
||||
@ -52,7 +52,7 @@ data Options = Options
|
||||
|
||||
-- | Where to try to seek configuration if specific path is not set.
|
||||
defaultConfigPaths :: [FilePath]
|
||||
defaultConfigPaths = ["./crossref-verifier.yaml", "./.crossref-verifier.yaml"]
|
||||
defaultConfigPaths = ["./xrefcheck.yaml", "./.xrefcheck.yaml"]
|
||||
|
||||
optionsParser :: Parser Options
|
||||
optionsParser = do
|
||||
@ -99,7 +99,7 @@ dumpConfigOptions = hsubparser $
|
||||
short 'o' <>
|
||||
long "output" <>
|
||||
metavar "FILEPATH" <>
|
||||
value ".crossref-verifier.yaml" <>
|
||||
value ".xrefcheck.yaml" <>
|
||||
help "Name of created config file."
|
||||
|
||||
totalParser :: Parser Command
|
||||
@ -109,7 +109,7 @@ totalParser = asum
|
||||
]
|
||||
|
||||
versionOption :: Parser (a -> a)
|
||||
versionOption = infoOption ("crossref-verify-" <> (showVersion version)) $
|
||||
versionOption = infoOption ("xrefcheck-" <> (showVersion version)) $
|
||||
long "version" <>
|
||||
help "Show version."
|
||||
|
||||
|
@ -13,12 +13,12 @@ let
|
||||
project = hn.stackProject {
|
||||
src = hn.haskellLib.cleanGit { src = ./.; };
|
||||
modules = [{
|
||||
packages.crossref-verifier = {
|
||||
packages.xrefcheck = {
|
||||
# More failures during CI == Less failures in runtime!
|
||||
postHaddock = ''
|
||||
[[ -z "$(ls -A dist/doc/html)" ]] && exit 1 || echo "haddock successfully generated documentation"'';
|
||||
package.ghcOptions = "-Werror";
|
||||
components.exes.crossref-verify.configureFlags =
|
||||
components.exes.xrefcheck.configureFlags =
|
||||
with nixpkgs.pkgsStatic;
|
||||
lib.optionals static [
|
||||
"--disable-executable-dynamic"
|
||||
@ -42,4 +42,4 @@ let
|
||||
subdir = "code/prelude";
|
||||
}];
|
||||
};
|
||||
in project.crossref-verifier
|
||||
in project.xrefcheck
|
Loading…
Reference in New Issue
Block a user