Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions .github/workflows/check_links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: Check Links

# Checks external links in content/ with lychee (settings in lychee.toml).
# - Pull requests: only links on lines the PR adds or modifies, so
# existing breakage doesn't block unrelated PRs.
# - Weekly / manual: all of content/, opening or updating a single
# "Broken links report" issue when anything fails.

on:
pull_request:
paths:
- 'content/**/*.md'
- 'lychee.toml'
- '.github/workflows/check_links.yml'
schedule:
- cron: '0 6 * * 1'
workflow_dispatch:

permissions:
contents: read

env:
LYCHEE_VERSION: '0.24.2'
LYCHEE_SHA256: '1f4e0ef7f6554a6ed33dd7ac144fb2e1bbed98598e7af973042fc5cd43951c9a'

jobs:
check_links:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install lychee
run: |
set -euo pipefail
tarball="lychee-x86_64-unknown-linux-gnu.tar.gz"
curl -sSfLO "https://github.com/lycheeverse/lychee/releases/download/lychee-v${LYCHEE_VERSION}/${tarball}"
echo "${LYCHEE_SHA256} ${tarball}" | sha256sum -c -
tar xzf "${tarball}"
sudo install lychee-x86_64-unknown-linux-gnu/lychee /usr/local/bin/lychee
lychee --version

- name: Check links on added or modified lines
if: github.event_name == 'pull_request'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
run: |
set -euo pipefail
# Copy just the added/modified lines of each changed file into
# added-lines/<same path>, so the report names the original file.
while IFS= read -r -d '' f; do
mkdir -p "added-lines/$(dirname "$f")"
git diff -U0 "$BASE_SHA"...HEAD -- "$f" \
| { grep -E '^\+' || true; } | { grep -vE '^\+\+\+ ' || true; } | sed 's/^+//' \
> "added-lines/$f"
done < <(git diff -z --name-only --diff-filter=d "$BASE_SHA"...HEAD -- 'content/**/*.md')
if [ ! -d added-lines ] || [ -z "$(find added-lines -type f -size +0)" ]; then
echo "No added or modified lines in content/ Markdown files."
exit 0
fi
cd added-lines
lychee --config ../lychee.toml --root-dir "$PWD/content/en" --format markdown -o ../lychee-report.md . \
|| { cat ../lychee-report.md >> "$GITHUB_STEP_SUMMARY"; exit 1; }
cat ../lychee-report.md >> "$GITHUB_STEP_SUMMARY"

- name: Check all links
if: github.event_name != 'pull_request'
id: full
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -uo pipefail
lychee --config lychee.toml --format markdown -o lychee-report.md 'content/**/*.md'
status=$?
cat lychee-report.md >> "$GITHUB_STEP_SUMMARY"
# 2 = broken links found; anything else non-zero is a lychee failure.
if [ $status -eq 2 ]; then
echo "broken=true" >> "$GITHUB_OUTPUT"
elif [ $status -ne 0 ]; then
exit $status
fi

- name: Open or update broken links issue
if: steps.full.outputs.broken == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -euo pipefail
title="Broken links report"
{
echo "Found by the weekly [link check](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}). Settings and exclusions are in \`lychee.toml\`."
echo
cat lychee-report.md
} > issue-body.md
number=$(gh issue list --state open --search "in:title \"$title\"" --json number,title \
--jq "map(select(.title == \"$title\"))[0].number // empty")
if [ -n "$number" ]; then
gh issue edit "$number" --body-file issue-body.md
else
gh issue create --title "$title" --body-file issue-body.md
fi
4 changes: 2 additions & 2 deletions content/en/about/collaborators.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ weight: 500

## Collaborators

<a href="http://www.hgu.mrc.ac.uk/"><img src="https://v2.virtualflybrain.org/images/vfb/project/logos/mrchguLogo.png" alt="mrchguLogo.png" class="logo-plate" width="300" /></a>
<a href="http://www.hgu.mrc.ac.uk/"><img src="/images/logos/mrchguLogo.png" alt="mrchguLogo.png" class="logo-plate" width="300" /></a>

**The IIP3D server, Woolz software and client-side tools* are developed by**
MRC Human Genetics Unit (MRC HGU): Richard Baldock, Nick Burton, Bill Hill, Zsolt Husz
Expand All @@ -14,7 +14,7 @@ weight: 500

Visit the [EMAGE gene expression database](https://www.emouseatlas.org/emage/) to see other tools the MRC HGU have developed.

[![flybase.gif](https://v2.virtualflybrain.org/images/vfb/project/logos/flybase.gif)](https://www.flybase.org/)
[![flybase.gif](/images/logos/flybase.gif)](https://www.flybase.org/)

**Expression data** is collaboratively curated by VFB and [FlyBase](https://www.flybase.org/) and stored and maintained at FlyBase.

Expand Down
6 changes: 3 additions & 3 deletions content/en/about/geppetto.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ For full details on the project see [Geppetto.org](https://geppetto.org)
Build robust neuroscience applications.


| [Live demo](http://live.geppetto.org) | [Paper](https://paper.geppetto.org) | [Docs](https://docs.geppetto.org/en/latest/) |
| [Paper](https://doi.org/10.1098/rstb.2017.0380) | [Docs](https://docs.geppetto.org/en/latest/) |
--------------------------------


Expand Down Expand Up @@ -117,7 +117,7 @@ Show me the code!

Right! Geppetto is hosted on GitHub, every module has its own repository to provide flexible ways of branching individual components. For every module we have at least two branches, development and master. The development branch gets merged into master each monthly release. If you want to contribute you can either go straight to the code or reach out to us dropping an [email](mailto:info@geppetto.org), we will show you around and help you contribute in your favorite way!

| [Source code](https://git.geppetto.org) | [Docs](https://docs.geppetto.org) | [Development board](https://board.geppetto.org/)
| [Source code](https://github.com/openworm/org.geppetto) | [Docs](https://docs.geppetto.org) | [Issues](https://github.com/openworm/org.geppetto/issues) |
--------------------------------

F.A.Q.
Expand Down Expand Up @@ -147,7 +147,7 @@ For the full list of contributors see [here](https://github.com/orgs/openworm/te

Besides the functional requirements, Geppetto's goal is to move away from the monolithic approach to software that is usually found in academic programming projects.

Computational neuroscience has produced software systems, including NEURON and Genesis, that are extremely useful for simulating systems of neurons that include biophysical details ([Brette et al, 2007](https://arxiv.org/abs/q-bio.NC/0611089)). A range of other algorithms have been devised in other areas of computational biology ([Barnes & Chu, 2010](https://doi.org/10.1007/978-1-84996-326-8)) for which simulators have been produced ([Takahashi, 2004](https://web.sfc.keio.ac.jp/%7Eshafi/takahashi-thesis.pdf)). Several investigations have pointed to the challenges in building a single system that integrates multiple simulation algorithms together into a single biological model ([Takahashi et al., 2002](https://doi.org/10.1109/MIS.2002.1039834), [Dada and Mendes, 2007](https://dx.doi.org/10.1007/978-3-642-02879-3), [Cornelis et al., 2012](https://doi.org/10.1371/journal.pone.0029018)).
Computational neuroscience has produced software systems, including NEURON and Genesis, that are extremely useful for simulating systems of neurons that include biophysical details ([Brette et al, 2007](https://arxiv.org/abs/q-bio.NC/0611089)). A range of other algorithms have been devised in other areas of computational biology ([Barnes & Chu, 2010](https://doi.org/10.1007/978-1-84996-326-8)) for which simulators have been produced ([Takahashi, 2004](https://web.archive.org/web/20220121101228/https://web.sfc.keio.ac.jp/~shafi/takahashi-thesis.pdf)). Several investigations have pointed to the challenges in building a single system that integrates multiple simulation algorithms together into a single biological model ([Takahashi et al., 2002](https://doi.org/10.1109/MIS.2002.1039834), [Dada and Mendes, 2007](https://dx.doi.org/10.1007/978-3-642-02879-3), [Cornelis et al., 2012](https://doi.org/10.1371/journal.pone.0029018)).

Geppetto aims to address these scientific and engineering challenges. Geppetto's design leverages cutting edge software technologies. Its architecture and development follows industry standards.

Expand Down
18 changes: 9 additions & 9 deletions content/en/about/members.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,29 @@ weight: 400

## Current Team Members

- [Robert Court](https://www.inf.ed.ac.uk/people/staff/Robert_Court.html) (Lead DevOps) [1]
- [Robert Court](https://www.research.ed.ac.uk/en/persons/robert-court) (Lead DevOps) [1]
- [Clare Pilgrim](https://orcid.org/0000-0002-1373-1705) (Ontology Editor/Curator) [2]
- [Alex McLachlan](https://orcid.org/0000-0002-5214-8125) (Curator/UX Tester) [2]
- [Gillian Millburn](https://orcid.org/0000-0002-1139-1145) (Senior Curator) [2]

- [Douglas Armstrong](https://www.inf.ed.ac.uk/people/staff/James_Armstrong.html) (Current Project PI) [1]
- [Douglas Armstrong](https://www.research.ed.ac.uk/en/persons/douglas-armstrong) (Current Project PI) [1]
- [Nick Brown](https://www.pdn.cam.ac.uk/research/groups/flybase/flybase-group-members) (Current Project PI) [2]
- [Greg Jefferis](http://www2.mrc-lmb.cam.ac.uk/group-leaders/h-to-m/gregory-jefferis/) (Current Project PI) [4,5]
- [David Osumi-Sutherland](https://orcid.org/0000-0002-7073-9172) (Current Project Co-I) [3]
- [Marta Costa](https://www.neuroscience.cam.ac.uk/directory/profile.php?mcosta) (Current Project Co-I) [4]
- [Marta Costa](https://www.zoo.cam.ac.uk/people/marta-costa) (Current Project Co-I) [4]


## Past Team Members
- Nestor Milyaev (2009-2012) [1]
- Alex Holmes (2017-2019) [2]
- [Aoife Larkin](https://orcid.org/0000-0003-4970-5901) (2017-2019) [2]
- [Huseyin Kir](https://www.ebi.ac.uk/people/person/huseyin-kir/) (2021-2024) [6]
- [Huseyin Kir](https://github.com/hkir-dev) (2021-2024) [6]
- [Nico Matentzoglu](https://orcid.org/0000-0002-7356-1779) (2018-2022) [6]
- Simon Reeve (2009-2011) [7]
- Nicole Staudt (2015-2016) [7]

- [Helen Parkinson](https://www.ebi.ac.uk/about/people/helen-parkinson) (Former PI) [6]
- [Cahir O'Kane](https://www.neuroscience.cam.ac.uk/directory/profile.php?cokane) (Former PI) [7]
- [Cahir O'Kane](https://www.gen.cam.ac.uk/people/cahir-okane) (Former PI) [7]
- [Michael Ashburner](https://orcid.org/0000-0002-6962-2807) (Original PI and Grant Holder) [7]

### Affiliations
Expand All @@ -49,23 +49,23 @@ MetaCell collaborates with Virtual Fly Brain on the development and enhancement
---
<!--- width set to 55 here to prevent bunching onto same line -->
<a href='https://www.anc.ed.ac.uk/index.php?option=com_content&task=view&id=12&Itemid=68' target='_blank'>
<img src='https://v2.virtualflybrain.org/images/vfb/project/logos/InformaticsLogo.gif' class="logo-plate" style="max-width: 55%"/>
<img src='/images/logos/InformaticsLogo.gif' class="logo-plate" style="max-width: 55%"/>
</a>

<a href='https://www.gen.cam.ac.uk/' target='_blank'>
<img src='https://v2.virtualflybrain.org/images/vfb/project/logos/CUnibig.png' class="logo-plate" style="max-width: 55%"/>
<img src='/images/logos/CUnibig.png' class="logo-plate" style="max-width: 55%"/>
</a>

<a href='https://www.sanger.ac.uk/' target='_blank'>
<img src='https://virtualflybrain.org/images/logo-sanger-blue.svg' class="logo-plate" style="max-width: 55%"/>
</a>

<a href='http://www2.mrc-lmb.cam.ac.uk/' target='_blank'>
<img src='https://v2.virtualflybrain.org/images/vfb/project/logos/MRC-LMB_logo.png' style="max-width: 55%"/>
<img src='/images/logos/MRC-LMB_logo.png' style="max-width: 55%"/>
</a>

<a href='https://www.ebi.ac.uk/' target='_blank'>
<img src='https://v2.virtualflybrain.org/images/vfb/project/logos/EMBL_EBI_logo_180pixels_RGB.png' class="logo-plate" style="max-width: 55%"/>
<img src='/images/logos/EMBL_EBI_logo_180pixels_RGB.png' class="logo-plate" style="max-width: 55%"/>
</a>

<a href='https://www.metacell.us/' target='_blank'>
Expand Down
7 changes: 7 additions & 0 deletions content/en/docs/Resources/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,10 @@ Site for finding larval CNS driver lines via multiple query modes, including ana

### [EBI Single Cell Expression Atlas](https://www.ebi.ac.uk/gxa/sc/home)
The Single Cell Expression Atlas at the European Bioinformatics Institute (EBI) provides access to single cell RNA-seq data from multiple species, including Drosophila.

---

## Other Useful Links

### [From Sight to Action](https://sight-to-action.netlify.app/)
Interactive explorer tracing a route through the Drosophila connectome from the R1–R6 photoreceptors to DNg13, a steering descending neuron. Shows EM-traced neuron shapes, statistical context (tested against chance) and a male/female comparison.
2 changes: 1 addition & 1 deletion content/en/docs/Tools/vfb-connect.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,5 @@ The [VFB connect API overview](/docs/tutorials/apis/vfb_api_overview/) tutorial
query surface in depth — term info, mapping between VFB and external IDs, connectivity and
similarity queries. For the endpoints underneath it, see [VFB APIs](/docs/apis/).

Full documentation: [vfb_connect.readthedocs.io](https://vfb_connect.readthedocs.io/en/stable/).
Full documentation: [vfb-connect.readthedocs.io](https://vfb-connect.readthedocs.io/en/stable/).
Source: [VirtualFlyBrain/VFB_connect](https://github.com/VirtualFlyBrain/VFB_connect).
2 changes: 0 additions & 2 deletions content/en/hosted/flybrainNDB.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,6 @@ Important Notes:

This resource is currently archived and maintained by Virtual Fly Brain (VFB).

Source code repository: https://github.com/VirtualFlyBrain/flybrain-ndb

## Original Development

© 2010 FLYBRAIN Neuron Database
Expand Down
26 changes: 26 additions & 0 deletions lychee.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Configuration for lychee link checker (https://lychee.cli.rs)
# Used by .github/workflows/check_links.yml. Run locally with:
# lychee --config lychee.toml 'content/**/*.md'

no_progress = true
max_concurrency = 32
timeout = 30
max_retries = 2

# Only check external web links. Hugo-style root-relative links such as
# /docs/apis/catmaid/ don't map onto files under content/, so they resolve to
# file:// URIs (via root_dir) and are skipped by this scheme filter.
scheme = ["http", "https"]
root_dir = "content/en"

# 403: many publishers and news sites (and doi.org redirects to them) block
# automated requests; a missing page or invalid DOI still returns 404.
# 429: rate limited, not broken.
accept = ["100..=103", "200..=299", "403", "429"]

exclude = [
# LinkedIn returns 999 to all bots
'^https?://([a-z]+\.)?linkedin\.com',
# MCP endpoint only accepts POST, so GET/HEAD return 405
'^https://vfb3-mcp\.virtualflybrain\.org',
]
Binary file added static/images/logos/CUnibig.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/logos/InformaticsLogo.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/logos/MRC-LMB_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/logos/flybase.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/logos/mrchguLogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading