Skip to content

Commit

Permalink
Fix more broken links, including anchors
Browse files Browse the repository at this point in the history
The anchor updates were achieved via this script:

  git grep -Io '#[A-Z][^])"'\'']*_[^])"'\'']*' **/*.md | while read line
  do
  page=${line%:*}
  pat=${line#*:}
  echo "$pat" | grep -q ' ' && continue
  npat=$(echo "$pat" | tr '[:upper:]' '[:lower:]' | sed 's/__*/-/g' | sed 's/\.[0-9a-f][0-9a-f]*//g' | sed 's/[^a-z0-9#-]//g')
  echo "$page: $pat -> $npat"
  sed -i -e "s/$pat/$npat/g" "$page"
  done
  • Loading branch information
ctrueden committed Apr 21, 2021
1 parent 2061211 commit 4134bb1
Show file tree
Hide file tree
Showing 223 changed files with 623 additions and 617 deletions.
2 changes: 2 additions & 0 deletions _bin/broken-links.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ prefixes="
ij
conference
list-of-update-sites
mbf
presentations
tickets
workshops
"

Expand Down
4 changes: 4 additions & 0 deletions _bin/update-links.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@ def processfile(path):
if new.startswith('TODO') or new == '<UNCHANGED>' or new == '???': continue
for i in range(len(lines)):
l = lines[i].replace(f'="{old}"', f'="/{new}"') # HTML, no slash
l = l.replace(f'="{old}#', f'="/{new}#') # HTML, no slash, with anchor
l = l.replace(f']({old})', f'](/{new})') # Markdown, no slash
l = l.replace(f']({old}#', f'](/{new}#') # Markdown, no slash, with anchor
l = l.replace(f'"/{old}"', f'"/{new}"') # HTML, with slash
l = l.replace(f'"/{old}#', f'"/{new}#') # HTML, with slash, with anchor
l = l.replace(f'](/{old})', f'](/{new})') # Markdown, with slash
l = l.replace(f'](/{old}#', f'](/{new}#') # Markdown, with slash, with anchor
if lines[i] != l:
file_changed = line_changed = True
lines[i] = l
Expand Down
6 changes: 3 additions & 3 deletions _pages/Open_an_image.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ description: test description

The answer to this question depends on how you use ImageJ.

- Do you want the open an image using the graphical user interface? ([\#From the GUI](#From_the_GUI))
- Are you writing a script? ([\#From a Script](#From_a_Script))
- Are you using Java, to develop an ImageJ2 plug-in or do write your one program using ImgLib2 and ImageJ libraries? ([\#From Java](#From_Java))
- Do you want the open an image using the graphical user interface? ([\#From the GUI](#from-the-gui))
- Are you writing a script? ([\#From a Script](#from-a-script))
- Are you using Java, to develop an ImageJ2 plug-in or do write your one program using ImgLib2 and ImageJ libraries? ([\#From Java](#from-java))

From the GUI
------------
Expand Down
2 changes: 1 addition & 1 deletion _pages/Project_ideas.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ The project would consist of
**Goal:** Plugin for Mixed-File-Format MultiVirtualHyperStack viewing window.
**Language:** Java.
**Contact:** Bill Mohler ([email protected])
**Plugin:** [ python script for multi-stack composite image](Jython_Scripting#Visualize_any_number_of_TIFF_stacks_in_a_single_composite_multi-color_image_stack)
**Plugin:** [ python script for multi-stack composite image](/scripting/jython#visualize-any-number-of-tiff-stacks-in-a-single-composite-multi-color-image-stack)

Interactively adjustable intensity/LUT curves
---------------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions _pages/about/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: test description

The community encourages discussion about proposed changes on ImageJ's [communication](Communication) channels. Submit your ideas!

Start on the [forum](/help), searching for discussions related to your contribution to get some context & background. It can also be helpful to [search](/Help#Searching_ImageJ_resources) for applicable issues and plans across the spectrum of ImageJ resources. The ImageJ community believes that [public discussion is important](Philosophy#Open_source) so that ideas are exposed to healthy alternate points of view rather than lost.
Start on the [forum](/help), searching for discussions related to your contribution to get some context & background. It can also be helpful to [search](/help#searching-imagej-resources) for applicable issues and plans across the spectrum of ImageJ resources. The ImageJ community believes that [public discussion is important](/develop/philosophy#open-source) so that ideas are exposed to healthy alternate points of view rather than lost.

If you are interested in helping to tackle open issues, see the [wish list](/develop/wish-list) page.

Expand All @@ -20,7 +20,7 @@ This site, imagej.net, is a wiki (similar to the {% include wikipedia title='Wik

If you are an ImageJ user, contributing documentation is an easy way to give back to the community without needing to learn software development skills.

If you are a plugin author, please consider [documenting your plugin on this site](Distribution#Documenting_your_extension). You can have a look at the page [How\_to\_make\_a\_new\_tutorial](/tutorials/make-a-new-tutorial).
If you are a plugin author, please consider [documenting your plugin on this site](/develop/distributing#documenting-your-extension). You can have a look at the page [How\_to\_make\_a\_new\_tutorial](/tutorials/make-a-new-tutorial).

When in doubt, discuss your ideas publicly on the Image.sc [Forum](/help)!

Expand Down
2 changes: 1 addition & 1 deletion _pages/about/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ There are a few different flavors of ImageJ with very similar names, and some co
many plugins useful for scientific image analysis in fields such as life
sciences. It is actively maintained, with updates released
often.<br><br>We recommend Fiji as the preferred version of ImageJ.</td>
<td><a href="User:Schindelin#A_short_story_about_Fiji">Dec. 2007</a></td>
<td><a href="/users/dscho#a-short-story-about-fiji">Dec. 2007</a></td>
<td>Active</td>
</tr>
<tr class="odd">
Expand Down
2 changes: 1 addition & 1 deletion _pages/cookbook/image-intensity-processing.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Ratio Analysis

![](/media/Intensity ratio analysis.jpg "fig:intensity_ratio_analysis.jpg") Ratiometric imaging compares the recordings of two different signals to see if there are any similarities between them. It is done by dividing one channel by another channel to produce a third ratiometric channel. This technique is useful because it corrects for dye leakage, unequal dye loading, and photo-bleaching. An example application would be measuring intracellular ion, pH, and voltage dynamics in real time.

Background subtraction is needed before analysis of dual-channel ratio images. See also the [background correction](#Background_correction) section. The *Ratio\_Profiler* plugin will perform ratiometric analysis of a single ROI on a dual-channel interleaved stack. The odd-slices are channel 1 images and the even slices are channel 2 images. If your two channels are opened as separate stacks, such as Zeiss, the two channels can be interleaved (mixed together by alternating between them) with the menu command {% include bc path='Plugins | Stacks - Shuffling | Stack Interleaver'%}.
Background subtraction is needed before analysis of dual-channel ratio images. See also the [background correction](#background-correction) section. The *Ratio\_Profiler* plugin will perform ratiometric analysis of a single ROI on a dual-channel interleaved stack. The odd-slices are channel 1 images and the even slices are channel 2 images. If your two channels are opened as separate stacks, such as Zeiss, the two channels can be interleaved (mixed together by alternating between them) with the menu command {% include bc path='Plugins | Stacks - Shuffling | Stack Interleaver'%}.

The plugin will generate a green-plot of the ratio values. Ch1÷Ch2 is the default and you can get Ch2÷Ch1 if the plugin is run with the {% include key content='Alt' %} key down. It will also generate a second plot of the intensities of the individual channels, Ch1 and Ch2, as well as a results table.

Expand Down
2 changes: 1 addition & 1 deletion _pages/cookbook/z-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ To create an anaglyph of two images, you can use the Two Shot Anaglyph plugin. T

### Volume-rendered anaglyphs

This is an adaptation of the methods described at [http://imagej.nih.gov/nih-image/more-docs/confocals.html](http://imagej.nih.gov/nih-image/more-docs/confocals.html).
This is an adaptation of the methods described at [https://imagej.nih.gov/nih-image/more-docs/confocals.html](https://imagej.nih.gov/nih-image/more-docs/confocals.html).

This plugin can use your stack to create a side by side stereo pair, a red-cyan anaglyph, a red-green anaglyph, or a rotation movie based on user specifications. The plugin will let you specify which of the stereo pair projections you want as well as the angle of rotation between the pairs. Typical values are 6-9°.

Expand Down
2 changes: 1 addition & 1 deletion _pages/develop/appveyor.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ section: Development:Tools
description: test description
---

[AppVeyor](https://ci.appveyor.com/) is a tool for [continuous integration](Project_management#Continuous_integration) on [Windows](/platforms/windows) platforms. It is very useful for automating builds, deployment and other tasks.
[AppVeyor](https://ci.appveyor.com/) is a tool for [continuous integration](/develop/project-management#continuous-integration) on [Windows](/platforms/windows) platforms. It is very useful for automating builds, deployment and other tasks.


Services
Expand Down
4 changes: 2 additions & 2 deletions _pages/develop/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ All components in these organizations use [Maven](/develop/maven) for [project m
Bill of Materials
-----------------

The `pom-scijava` parent includes a [Bill of Materials](http://howtodoinjava.com/maven/maven-bom-bill-of-materials-dependency/) (BOM) which declares compatible versions of all components of the **SciJava component collection** in its [dependencyManagement section](http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Management). These versions are intended to be used together in downstream projects, preventing version skew (symptoms of which include `ClassNotFoundException` and `NoSuchMethodError`, as well as erroneous behavior in general). This BOM is especially important while some components are still in beta, since they may sometimes break [backwards compatibility](/libs/imagej-legacy).
The `pom-scijava` parent includes a [Bill of Materials](http://howtodoinjava.com/maven/maven-bom-bill-of-materials-dependency/) (BOM) which declares compatible versions of all components of the **SciJava component collection** in its [dependencyManagement section](http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#dependency-management). These versions are intended to be used together in downstream projects, preventing version skew (symptoms of which include `ClassNotFoundException` and `NoSuchMethodError`, as well as erroneous behavior in general). This BOM is especially important while some components are still in beta, since they may sometimes break [backwards compatibility](/libs/imagej-legacy).

Core libraries
--------------
Expand Down Expand Up @@ -169,7 +169,7 @@ For the reasons stated above, the SciJava software components strive for reprodu

Each component depends on release [versions](http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-syntax.html#pom-reationships-sect-versions) of *all* its dependencies—never on [snapshots](http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-syntax.html#pom-relationships-sect-snapshot-versions) or [version ranges](http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-project-dependencies.html#pom-relationships-sect-version-ranges). A Maven snapshot is a moving target, and depending on one results in an irreproducible build. Similarly, all Maven plugins used, as well as the parent POM, are also declared at release versions. In short: all `<version>` tags specify release versions, never `SNAPSHOT` or `LATEST` versions. We use the [Maven Enforcer Plugin](http://maven.apache.org/enforcer/maven-enforcer-plugin/) to enforce this requirement (though it can be temporarily disabled by setting the `enforcer.skip` property).

We sometimes use `SNAPSHOT` versions temporarily on topic branches. However, we always [rewrite them](Git#Rewriting_history) before merging to master, to purge all `SNAPSHOT` references, so that all commits in the history build reproducibly. We use SciJava's [check-branch.sh](https://github.com/scijava/scijava-scripts/blob/1386a7b0bc9e832d45f925202e1382717cf4a706/check-branch.sh) script to ensure all commits on a topic branch build cleanly with passing tests.
We sometimes use `SNAPSHOT` versions temporarily on topic branches. However, we always [rewrite them](/develop/git#rewriting-history) before merging to master, to purge all `SNAPSHOT` references, so that all commits in the history build reproducibly. We use SciJava's [check-branch.sh](https://github.com/scijava/scijava-scripts/blob/1386a7b0bc9e832d45f925202e1382717cf4a706/check-branch.sh) script to ensure all commits on a topic branch build cleanly with passing tests.

Using snapshot couplings during development
-------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion _pages/develop/coding-style.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ ImageJ uses an [interface-driven design](https://msdn.microsoft.com/en-us/librar
Versioning
----------

ImageJ uses [Semantic Versioning](http://semver.org/). As of this writing, the project is still in beta, so the API is not finalized yet. But once we make the final 2.0.0 release, future versions will be fully compliant. See the [Architecture](Architecture#Versioning) page for further details.
ImageJ uses [Semantic Versioning](http://semver.org/). As of this writing, the project is still in beta, so the API is not finalized yet. But once we make the final 2.0.0 release, future versions will be fully compliant. See the [Architecture](/develop/architecture#versioning) page for further details.

Naming
------
Expand Down
2 changes: 1 addition & 1 deletion _pages/develop/cpp-tips.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Java's generics are implemented using erasure, which means that generics help ca

The upside of this limitation is that you will never get as cryptic multi-page long error messages as with C++.

A downside is that the Java compiler just cannot optimize generics as much as C++ can do with templates, also due to the fact that Java does not recompile the base classes of the generics -- in contrast to what C++ does with templates. However, due to the [compile time](#Compile_time) being fuzzy, Java can optimize a lot in the Just-In-Time compiler, especially when you use the *final* keyword wisely; a method marked as final cannot be overridden in subclasses, and is therefore a prime candidate for Just-In-Time optimization.
A downside is that the Java compiler just cannot optimize generics as much as C++ can do with templates, also due to the fact that Java does not recompile the base classes of the generics -- in contrast to what C++ does with templates. However, due to the [compile time](#compile-time) being fuzzy, Java can optimize a lot in the Just-In-Time compiler, especially when you use the *final* keyword wisely; a method marked as final cannot be overridden in subclasses, and is therefore a prime candidate for Just-In-Time optimization.

Java has no pointers
--------------------
Expand Down
Loading

0 comments on commit 4134bb1

Please sign in to comment.