Skip to content

Commit 19020c2

Browse files
authored
Switch to linkspector (#556)
1 parent f1815e7 commit 19020c2

31 files changed

+135
-141
lines changed

.github/workflows/check-links.yaml

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,25 @@
11
name: Check links
2-
32
on:
43
push:
54
paths:
65
- '.github/workflows/check-links.yml'
7-
- '.lycheeignore'
8-
- 'lychee.toml'
96
- '**/*.md'
107
pull_request:
118
schedule:
12-
# Run on the first of each month at 9:00 AM (See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07)
139
- cron: "0 9 1 * *"
1410
workflow_dispatch:
15-
1611
concurrency:
1712
group: "${{ github.workflow }}-${{ github.head_ref || github.ref }}"
1813
cancel-in-progress: true
19-
2014
jobs:
21-
lychee:
15+
check-links:
16+
name: runner / linkspector
2217
runs-on: ubuntu-latest
2318
steps:
2419
- uses: actions/checkout@v4
20+
- name: Run linkspector
21+
uses: umbrelladocs/action-linkspector@v1
2522
with:
26-
show-progress: 'false'
27-
- name: Restore lychee cache
28-
uses: actions/cache@v4
29-
with:
30-
path: .lycheecache
31-
key: cache-lychee-${{ github.sha }}
32-
restore-keys: cache-lychee-
33-
- name: Link Checker
34-
id: lychee
35-
uses: lycheeverse/[email protected]
36-
with:
37-
fail: true
38-
args: --accept '200,201,202,203,204,403,429,500' --max-concurrency 1 --cache --no-progress --exclude-all-private './**/*.md'
23+
github_token: ${{ secrets.github_token }}
24+
reporter: github-pr-review
25+
fail_level: any

.linkspector.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
dirs:
2+
- .
3+
useGitIgnore: true
4+
ignorePatterns:
5+
- pattern: '^https://arxiv\.org/'

.markdownlint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ MD026:
2828

2929
MD033:
3030
# we have <a> tags with ids
31-
allowed_elements: ['a', 'div', 'figure', 'figcaption', 'img', 'p', 'mark']
31+
allowed_elements: ['a', 'div', 'figure', 'figcaption', 'img', 'kbd', 'p', 'mark']
3232

3333
# we allow images without alt text
3434
MD045: false

en/advanced/commandline.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ The word _true_ prevents the file name from being interpreted as an argument to
4747

4848
* [Help: `-h`](commandline.md#help--h)
4949
* [No-GUI mode: `-n`](commandline.md#no-gui-mode--n)
50-
* [Import file: `-i filename[,import format]`](commandline.md#import-file--i-filenameimport-format/README.md)
50+
* [Import file: `-i filename[,import format]`](commandline.md#import-file--i-filenameimport-format)
5151
* [Export file: `-o filename[,export format]`](commandline.md#export-file--o-filenameexport-format)
5252
* [Import BibTeX: `-importBibtex`](commandline.md#import-bibtex--importbibtex)
5353
* [Export matching entries: `-m [field]searchTerm,outputFile:file[,exportFormat]`](commandline.md#export-matching-entries--m-fieldsearchtermoutputfilefileexportformat)
54-
* [Write BibTexEntry as XMP metadata to PDF: `-w CITEKEY1[,CITEKEY2][,CITEKEYn] | PDF1[,PDF2][,PDFn] | all`](commandline.md#write-bibtexentry-as-xmp-metadata-to-pdf--w-citekey1citekey2citekeyn--pdf1pdf2pdfn--all)
54+
* Write BibTexEntry as XMP metadata to PDF: `-w CITEKEY1[,CITEKEY2][,CITEKEYn] | PDF1[,PDF2][,PDFn] | all`
5555
* [Fetch entries from Web: `-f=FetcherName:QueryString`](commandline.md#fetch-entries-from-web--ffetchernamequerystring)
5656
* [Subdatabase from .aux file: `-a infile[.aux],outfile[.bib] base-BibTeX-file`](commandline.md#subdatabase-from-aux-file--a-infileauxoutfilebib-base-bibtex-file)
5757
* [Set file links: `-asfl`](commandline.md#set-file-links--asfl)
@@ -238,4 +238,4 @@ As developer, you pass arguments to the app using gradle's `--app` switch. Enclo
238238

239239
You can then view the event log in JabRef as follows:
240240

241-
<figure><img src="../.gitbook/assets/dev-log (2).png" alt=""><figcaption></figcaption></figure>
241+
<figure><img src="../.gitbook/assets/dev-log.png" alt=""><figcaption></figcaption></figure>

en/advanced/custom-themes.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ You can find a collection of user contributed themes at [https://themes.jabref.o
2222

2323
## Examples
2424

25-
**Light Theme** ![Light Theme](<../.gitbook/assets/theme-light (1).png>)
25+
**Light Theme** ![Light Theme](<../.gitbook/assets/theme-light.png>)
2626

27-
**Dark Theme** ![Dark Theme](<../.gitbook/assets/theme-dark (1).png>)
27+
**Dark Theme** ![Dark Theme](<../.gitbook/assets/theme-dark.png>)
2828

29-
**Custom Theme** ![Custom Theme](<../.gitbook/assets/theme-custom (1).png>) (based on the Dark Theme)
29+
**Custom Theme** ![Custom Theme](<../.gitbook/assets/theme-custom.png>) (based on the Dark Theme)
3030

3131
## Known bugs
3232

en/advanced/externalfiles.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ To change the external viewer settings, go to **Options → Preferences → Exte
1414

1515
There are several ways to open an external web page. In the entry editor, click on the icon "open" right of the text field to open the respective DOI or URL.
1616

17-
![Open DOI](<../.gitbook/assets/entryeditor-doi-open (1).png>)
17+
![Open DOI](<../.gitbook/assets/entryeditor-doi-open.png>)
1818

1919
In the entry table you can select an entry and use the menu choice, keyboard shortcut or the right-click menu to open the file or web page. Finally, you can click on a URL or DOI icon.
2020

21-
![Open DOI via popup](<../.gitbook/assets/entrytable-doi-popup (1).png>)
21+
![Open DOI via popup](<../.gitbook/assets/entrytable-doi-popup.png>)
2222

2323
By default the entry table will contain a singly column containing an indicator whether there is a DOI or a URL linked. You can remove the "Link identifiers" column in **Options → Preferences → Entry table**.

en/advanced/journalabbreviations.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This feature can be configured under **Options → Preferences → Manage journa
1010

1111
JabRef includes a fairly extensive build-in list of journal abbreviations. This list is a merge of all lists available at [https://abbrv.jabref.org](https://abbrv.jabref.org). However, this might still be incomplete (or outdated) for the purposes of some users. Thus, JabRef allows to add abbreviations in the form of a personal list or external lists.
1212

13-
![General view](<../.gitbook/assets/JournalAbbreviations (6).png>)
13+
![General view](<../.gitbook/assets/JournalAbbreviations.png>)
1414

1515
## Using the feature
1616

@@ -43,7 +43,7 @@ Once you click _Save changes_, if you have selected a file, and the table contai
4343

4444
You can link to a number of external lists. These links can be set up on top of the **Manage journal abbreviations** window. External lists are similar to the personal list. The _Open existing list_ button allows you to select an existing file on your computer.
4545

46-
![External list](<../.gitbook/assets/JournalAbbreviations-ExternalList (6).png>)
46+
![External list](<../.gitbook/assets/JournalAbbreviations-ExternalList.png>)
4747

4848
External lists can be found at [JabRef's repository abbreviation lists](http://abbrv.jabref.org). These data files are in CSV format (using comma as separators):
4949

en/cite/pushtoapplications.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ To push as citation, first select the entries in your entry table that you would
1414
* Press `CTRL + L`
1515
* Click on the dedicated button in the taskbar (left of the _Generate citation key_ button)
1616

17-
![](<../.gitbook/assets/push-external-button-windows (5).png>)
17+
![](<../.gitbook/assets/push-external-button-windows.png>)
1818

1919
By default the external editor used to push citations is TeXstudio. You can select another application in **Options → Preferences → External programs**. Under the **Push applications** section, click on the **Application to push entries to** field. This will cause a dropdown menu to appear, from which you are then able to select from a list of all the external editors you have configured.
2020

@@ -24,15 +24,15 @@ You can configure the citation command at "Cite command". JabRef intelligently p
2424

2525
Once you have made your selection and click **Save**, the push-to-external application button icon will change to match that of the selected external editor application.
2626

27-
![New Application After Select](<../.gitbook/assets/after-application-selection (6).png>)
27+
![New Application After Select](<../.gitbook/assets/after-application-selection.png>)
2828

2929
When you click on the push-to-external application button, JabRef will export your selected entries to an open LaTeX file in the selected external editor application. As an example, here is what happens when you export one entry to TexStudio.
3030

31-
![Initial Push to External Export](<../.gitbook/assets/initial-push-export (5).png>)
31+
![Initial Push to External Export](<../.gitbook/assets/initial-push-export.png>)
3232

3333
As long as you continue using the same external editor application, clicking on the push-to-external application button for subsequent exports will just add new citations or extend an existing citation with additional entries. Following the example above, here is what happens when you export a second entry to TeXStudio on an existing citation, which is extended to include the new entry in your LaTeX document.
3434

35-
![Subsequent Push to External Export](<../.gitbook/assets/subsequent-push-export (5).png>)
35+
![Subsequent Push to External Export](<../.gitbook/assets/subsequent-push-export.png>)
3636

3737
## Hints on Emacs
3838

en/collaborative-work/export/customexports.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,11 @@ A conditional block can also be dependent on more than one field, and the conten
7474
* OR operator : `|`, `||`
7575
* NOT operator : `!`
7676

77-
For example, to output text only if both `year` and `month` are set, use a block like the following: `\begin{year&&month}Month: \format[HTMLChars]{\month}\end{year&&month}`
77+
For example, to output text only if both `year` and `month` are set, use a block like the following: `\begin{year&&month}Month: \format[HTMLChars]{\month}\end{year&&month}`
7878
which will print "Month: " plus the contents of the `month` field, but only if also the `year` field is defined.
7979

80-
As an example for the usage of the NOT operator, consider the following:
81-
`\begin{!year}\format[HTMLChars]{(no year)}\end{!year}`
80+
As an example for the usage of the NOT operator, consider the following:
81+
`\begin{!year}\format[HTMLChars]{(no year)}\end{!year}`
8282
Here, "no year" is printed as output text if no year field is defined.
8383

8484
**Note:** Use of the `\begin` and `\end` commands is a key to creating layout files that work well with a variety of entry types.
@@ -126,7 +126,7 @@ JabRef provides the following set of formatters:
126126
* `RemoveBrackets` : removes all curly brackets "{" or "}".
127127
* `RemoveBracketsAddComma` : removes all curly brackets "{" or "}". The closing curly bracket is replaced by a comma.
128128
* `RemoveLatexCommands` : removes LaTeX commands like `\em`, `\textbf`, etc. If used together with `HTMLChars` or `XMLChars`, this formatter should be called last.
129-
* `RemoveTilde` : replaces the tilde character used in LaTeX as a non-breakable space by a regular space. Useful in combination with the [NameFormatter](customexports.md#NameFormatter) discussed in the next section.
129+
* `RemoveTilde` : replaces the tilde character used in LaTeX as a non-breakable space by a regular space. Useful in combination with the `Authors` formatter discussed in the next section.
130130
* `RemoveWhitespace` : removes all whitespace characters.
131131
* `Replace(regexp,replacewith)` : does a regular expression replacement. To use this formatter, a two-part argument must be given. The parts are separated by a comma. To indicate the comma character, use an escape sequence: \,
132132

@@ -149,14 +149,14 @@ JabRef provides the following set of formatters:
149149

150150
To accommodate for the numerous citation styles, the `Authors` formatter allows flexible control over the layout of the author list. The formatter takes a comma-separated list of options, by which the default values can be overridden. The following option/value pairs are currently available, where the default values are given in curly brackets.
151151

152-
`AuthorSort = [ {FirstFirst} | LastFirst | LastFirstFirstFirst ]`
152+
`AuthorSort = [ {FirstFirst} | LastFirst | LastFirstFirstFirst ]`
153153
specifies the order in which the author names are formatted.
154154

155155
* `FirstFirst` : first names are followed by the surname.
156156
* `LastFirst` : the authors' surnames are followed by their first names, separated by a comma.
157157
* `LastFirstFirstFirst` : the first author is formatted as LastFirst, the subsequent authors as FirstFirst.
158158

159-
`AuthorAbbr = [ FullName | LastName | {Initials} | InitialsNoSpace | FirstInitial | MiddleInitial ]`
159+
`AuthorAbbr = [ FullName | LastName | {Initials} | InitialsNoSpace | FirstInitial | MiddleInitial ]`
160160
specifies how the author names are abbreviated.
161161

162162
* `FullName` : shows full author names; first names are not abbreviated.
@@ -166,27 +166,27 @@ specifies how the author names are abbreviated.
166166
* `FirstInitial` : only first initial is shown.
167167
* `MiddleInitial` : first name is shown, but all middle names are abbreviated.
168168

169-
`AuthorPunc = [ {FullPunc} | NoPunc | NoComma | NoPeriod ]`
169+
`AuthorPunc = [ {FullPunc} | NoPunc | NoComma | NoPeriod ]`
170170
specifies the punctuation used in the author list when `AuthorAbbr` is used
171171

172172
* `FullPunc` : no changes are made to punctuation.
173173
* `NoPunc` : all full stops and commas are removed from the author name.
174174
* `NoComma` : all commas are removed from the author name.
175175
* `NoPeriod` : all full stops are removed from the author name.
176176

177-
`AuthorSep = [ {Comma} | And | Colon | Semicolon | Sep=<string> ]`
177+
`AuthorSep = [ {Comma} | And | Colon | Semicolon | Sep=<string> ]`
178178
specifies the separator to be used between authors. Any separator can be specified, with the `Sep=<string>` option. Note that appropriate spaces need to be added around `string`.
179179

180-
`AuthorLastSep = [ Comma | {And} | Colon | Semicolon | Amp | Oxford | LastSep=<string> ]`
180+
`AuthorLastSep = [ Comma | {And} | Colon | Semicolon | Amp | Oxford | LastSep=<string> ]`
181181
specifies the last separator in the author list. Any separator can be specified, with the `LastSep=<string>` option. Note that appropriate spaces need to be added around `string`.
182182

183-
`AuthorNumber = [ {inf} | <integer> ]`
183+
`AuthorNumber = [ {inf} | <integer> ]`
184184
specifies the number of authors that are printed. If the number of authors exceeds the maximum specified, the authorlist is replaced by the first author \(or any number specified by `AuthorNumberEtAl`\), followed by `EtAlString`.
185185

186-
`AuthorNumberEtAl = [ {1} | <integer> ]`
186+
`AuthorNumberEtAl = [ {1} | <integer> ]`
187187
specifies the number of authors that are printed if the total number of authors exceeds `AuthorNumber`. This argument can only be given after `AuthorNumber` has already been given.
188188

189-
`EtAlString = [ { et al.} | EtAl=<string> ]`
189+
`EtAlString = [ { et al.} | EtAl=<string> ]`
190190
specifies the string used to replace multiple authors. Any string can be given, using `EtAl=<string>`
191191

192192
If an option is unspecified, the default value \(shown in curly brackets above\) is used. Therefore, only layout options that differ from the defaults need to be specified. The order in which the options are defined is \(mostly\) irrelevant. So, for example,
@@ -203,16 +203,16 @@ As mentioned, the order in which the options are specified is irrelevant. There
203203

204204
Given the following authors, _"Joe James Doe and Mary Jane and Bruce Bar and Arthur Kay"_ ,the `Authors` formatter will give the following results:
205205

206-
`Authors()`, or equivalently, `Authors(FirstFirst,Initials,FullPunc,Comma,And,inf,EtAl= et al.)`
206+
`Authors()`, or equivalently, `Authors(FirstFirst,Initials,FullPunc,Comma,And,inf,EtAl= et al.)`
207207
J. J. Doe, M. Jane, B. Bar and A. Kay
208208

209-
`Authors(LastFirstFirstFirst,MiddleInitial,Semicolon)`
209+
`Authors(LastFirstFirstFirst,MiddleInitial,Semicolon)`
210210
Doe, Joe J.; Mary Jane; Bruce Bar and Arthur Kay
211211

212-
`Authors(LastFirst,InitialsNoSpace,NoPunc,Oxford)`
212+
`Authors(LastFirst,InitialsNoSpace,NoPunc,Oxford)`
213213
Doe JJ, Jane M, Bar B, and Kay A
214214

215-
`Authors(2,EtAl= and others)`
215+
`Authors(2,EtAl= and others)`
216216
J. J. Doe and others
217217

218218
Most commonly available citation formats should be possible with this formatter. For even more advanced options, consider using the Custom Formatters detailed below.

en/collaborative-work/sqldatabase/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,25 @@ To use this feature you have to connect to a remote database. To do so you have
1010

1111
### SSL configuration
1212

13-
Since version 5.0 JabRef supports secure SSL connection to the database. For PostgreSQL make sure the server supports SSL and you have correctly setup the [certificates](https://www.postgresql.org/docs/current/static/ssl-tcp.html). Then [convert the client certificates](https://jdbc.postgresql.org/documentation/ssl/#configuring-the-client) into a java readable format and import them into a (custom) keystore. For MySQL the procedure is similar. [Setting up MySQL with SSL](https://dev.mysql.com/doc/refman/8.0/en/using-encrypted-connections.html) and [converting the certificates](https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-using-ssl.html) for the java keystore. However, it has only been tested with PostgreSQL. Once the certificates are imported into the keystore, specify the path to the keystore file in the connection dialog and the password for accessing the keystore.
13+
Since version 5.0 JabRef supports secure SSL connection to the database. For PostgreSQL make sure the server supports SSL and you have correctly setup the [certificates](https://www.postgresql.org/docs/current/static/ssl-tcp.html). Then [convert the client certificates](https://jdbc.postgresql.org/documentation/ssl/#configuring-the-client) into a java readable format and import them into a (custom) keystore. For MySQL the procedure is similar. [Setting up MySQL with SSL](https://dev.mysql.com/doc/refman/8.0/en/using-encrypted-connections.html) and converting the certificates for the java keystore. However, it has only been tested with PostgreSQL. Once the certificates are imported into the keystore, specify the path to the keystore file in the connection dialog and the password for accessing the keystore.
1414

15-
![Screenshot of Connect to shared database dialog](<../../.gitbook/assets/open-shared-database-dialog (1).png>)
15+
![Screenshot of Connect to shared database dialog](<../../.gitbook/assets/open-shared-database-dialog.png>)
1616

1717
After connecting to your shared database, your main window should look like this:
1818

19-
![Screenshot of JabRef with an open shared database](<../../.gitbook/assets/open-shared-databse-screenshot (1).png>)
19+
![Screenshot of JabRef with an open shared database](<../../.gitbook/assets/open-shared-databse-screenshot.png>)
2020

2121
JabRef will automatically detect your changes and push them to the shared side. JabRef will also constantly check if there is a newer version available. If you experience connection issues, you can pull changes from your shared database via the icon in the icon bar. If a newer version is available, JabRef will try to automatically merge the new version and your local copy. If this fails, the **Update refused** dialog will show up. You will then have to manually merge using the **Update refused** dialog. The dialog helps you by pointing out the differences, you then will have to choose if you want to keep your local version or update to the shared version. Confirm your merge by clicking on **Merge entries**.
2222

23-
![Screenshot of Update refused dialog](<../../.gitbook/assets/update-refused-merge-dialog (1).png>)
23+
![Screenshot of Update refused dialog](<../../.gitbook/assets/update-refused-merge-dialog.png>)
2424

2525
The **Update refused** dialog can also take a different form, if the BibEntry you currently work on has been deleted on the shared side. You can choose to keep the BibEntry in the database by clicking **Keep** or update to the shared side and click **Close**.
2626

27-
![Screenshot of Update refused dialog due to a deleted entry](<../../.gitbook/assets/update-refused-deleted-entry-dialog (1).png>)
27+
![Screenshot of Update refused dialog due to a deleted entry](<../../.gitbook/assets/update-refused-deleted-entry-dialog.png>)
2828

2929
If you experience a problem with your connection to your shared database, the **Connection lost** dialog will show up. You can choose to **Reconnect**, **Work offline** or **Close database**. Most of the time simply reconnecting will fix this problem, if that's not the case you will have to choose between **Work offline** or **Close database**. Pick **Work offline** if you want to make sure your changes are saved. If you think there is nothing to save just pick **Close database**. If you choose to work offline, JabRef will convert the shared database to a local .bib database. Since you are no longer working online, but instead on a local database, you will have to import your work via copy and paste into the shared database. However before you import it into the shared database, make sure to check if changes happened during your offline time. Otherwise you might override someone else's work.
3030

31-
![Screenshot of Connection lost dialog](<../../.gitbook/assets/connection-lost-dialog (1).png>)
31+
![Screenshot of Connection lost dialog](<../../.gitbook/assets/connection-lost-dialog.png>)
3232

3333
## Try it out
3434

0 commit comments

Comments
 (0)