diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index bab8047e..19152c7e 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -10,12 +10,21 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + - name: Generate link check config with internal link replacement patterns + run: | + jq --arg ws "$GITHUB_WORKSPACE" '. + { + "replacementPatterns": [ + {"pattern": "^(/[^#?]+/)$", "replacement": ("file://" + $ws + "$1")}, + {"pattern": "^(/[^#?.]+)$", "replacement": ("file://" + $ws + "$1.md")} + ] + }' \ + .github/workflows/markdown.links.config.json > "$RUNNER_TEMP/mlc.config.json" - uses: gaurav-nelson/github-action-markdown-link-check@v1 id: checker with: use-quiet-mode: 'yes' use-verbose-mode: 'yes' - config-file: '.github/workflows/markdown.links.config.json' + config-file: '${{ runner.temp }}/mlc.config.json' - uses: slackapi/slack-github-action@v1 if: failure() id: slack diff --git a/.github/workflows/markdown.links.config.json b/.github/workflows/markdown.links.config.json index 73d050a8..87545c65 100644 --- a/.github/workflows/markdown.links.config.json +++ b/.github/workflows/markdown.links.config.json @@ -1,15 +1,21 @@ { "ignorePatterns": [ - { "pattern" : "^https?://www.smartseatech.com/en/index.aspx" }, - { "pattern" : "^https?://www.asianscientist.com.*" }, + { "pattern" : "^https?://www.smartseatech.com/en/index.aspx" }, + { "pattern" : "^https?://www.asianscientist.com.*" }, { "pattern" : "^https?://www.oceans19mtsieeemarseille.org.*" }, { "pattern" : "^{{site.baseurl}}.*" }, { "pattern" : "^https://www.opengovasia.com/" }, { "pattern" : "^\/images.*"}, { "pattern" : "^https://medium.com/@NUSEnterprise/"}, { "pattern" : "^https://www.mtsociety.org/"}, - { "pattern" : "^https://www.linkedin.com/company/rijas-technical-solutions-pvt-ltd/"} + { "pattern" : "^https://www.linkedin.com/company/rijas-technical-solutions-pvt-ltd/"}, + { "pattern" : "^https?://www\\.hydro-surv\\.com"}, + { "pattern" : "^https?://github\\.com/org-arl/unetsockets/blob/"}, + { "pattern" : "^https?://www\\.wired\\.co\\.uk/magazine/archive/"}, + { "pattern" : "^https?://podcasts\\.apple\\.com/"}, + { "pattern" : "^https://subnero\\.com/solutions/swan\\.html"} ], + "aliveStatusCodes": [200, 206, 301, 302, 303, 304, 403, 429, 999], "retryOn429": true, "retryCount": 5, "fallbackRetryDelay": "30s", diff --git a/_posts/2018-07-17-SWANs-monitor-reservoirs-water-quality.md b/_posts/2018-07-17-SWANs-monitor-reservoirs-water-quality.md index 63bb7a88..dd5c57d8 100644 --- a/_posts/2018-07-17-SWANs-monitor-reservoirs-water-quality.md +++ b/_posts/2018-07-17-SWANs-monitor-reservoirs-water-quality.md @@ -3,6 +3,6 @@ layout: pulse_post title: Punchlines categories: press external_url: https://www.straitstimes.com/opinion/cartoons/punchlines-july-17-2018 -source : https://www.straitstimes.com/opinion/cartoons +source : https://www.straitstimes.com/ thumbnail: images/pulse-thumbnail-swan-comic.jpg --- diff --git a/_posts/2018-09-28-UnetStack-Newsletter.md b/_posts/2018-09-28-UnetStack-Newsletter.md index 95bb7311..1f7bc0af 100644 --- a/_posts/2018-09-28-UnetStack-Newsletter.md +++ b/_posts/2018-09-28-UnetStack-Newsletter.md @@ -13,7 +13,7 @@ We are delighted to share the following news updates with you: ### Introducing UnetPy - Python API for UnetStack -Today, we are excited to share a new software framework to connect to UnetStack through python - [UnetPy](https://github.com/org-arl/unetsockets/tree/master/python){:target="_blank"}. UnetPy allows developers and users to use frameworks such as Jupyter notebook or similar Python tools to develop applications. UnetPy uses the package fjågepy. A simple tutorial is available [here](https://github.com/org-arl/unetsockets/blob/master/python/python-gateway-tutorial.ipynb){:target="_blank"} to help you get started. +Today, we are excited to share a new software framework to connect to UnetStack through python - [UnetPy](https://github.com/org-arl/unetsockets/tree/master/python){:target="_blank"}. UnetPy allows developers and users to use frameworks such as Jupyter notebook or similar Python tools to develop applications. UnetPy uses the package fjågepy. Getting started documentation is available in the [README](https://github.com/org-arl/unetsockets/tree/master/python){:target="_blank"}. ### Check out the Unet Blog diff --git a/_posts/2021-04-23-New-SwanViz-UI-developed-together-with-CSSSR.md b/_posts/2021-04-23-New-SwanViz-UI-developed-together-with-CSSSR.md index 9a82fb54..ea5cc1b9 100644 --- a/_posts/2021-04-23-New-SwanViz-UI-developed-together-with-CSSSR.md +++ b/_posts/2021-04-23-New-SwanViz-UI-developed-together-with-CSSSR.md @@ -28,7 +28,7 @@ The SwanViz features a dashboard that showcases an overview of various SwanBots The SwanViz is accessible via a computer (desktop/laptop) or mobile devices. Users can view and configure SwanBots for various types of water quality monitoring missions from the comfort of their offices. It also enables the water quality data collected by the SwanBot to be viewed in real-time, in the form of heatmaps and data plots. -The development of a new SwanViz is part of a collaborative project with the National University of Singapore, Subnero has been working on improving the [SWAN](https://subnero.com/solutions/swan.html){:target="_blank"}. +The development of a new SwanViz is part of a collaborative project with the National University of Singapore, Subnero has been working on improving the SWAN. In the project, we are also upgrading the SWAN to incorporate intelligent mission planning capabilities. To that effect, the SwanBots (SWAN robots) will be capable of learning from the data collected while exploring an area, to dynamically update an ongoing mission to gather more useful data, in real-time. This enhances the efficiency and cost-effectiveness of SWAN as a water quality monitoring solution. diff --git a/_posts/2024-03-01-Product-Launch-S40H-series-modems.md b/_posts/2024-03-01-Product-Launch-S40H-series-modems.md index 79d08fa0..61e74ff6 100644 --- a/_posts/2024-03-01-Product-Launch-S40H-series-modems.md +++ b/_posts/2024-03-01-Product-Launch-S40H-series-modems.md @@ -20,7 +20,7 @@ Designed to excel in challenging shallow water conditions, the S40H series intro - **Higher Data Rates:** Utilizing a higher frequency band and boasting a larger bandwidth (25 kHz bandwidth, from 25 - 50 kHz band), the S40H series achieves data rates of up to 33 kbps, ensuring seamless connectivity even in the harshest underwater environments. - **Extended Range:** Providing connectivity of up to 1 km, this series offers a competitive range in challenging conditions to enable your short-range deployments. - **Versatile Applications:** Equipped with advanced underwater communication algorithms, the S40H series unlocks a myriad of possibilities, including high-speed data transfer for underwater IoT applications, underwater image transfer, and large sensor payload data transfer for marine robotics. -- **Enhanced Capability:** The [multi-receiver variant](/products/wnc/gen4x/accessories/multi-receiver.html){:target="_blank"} of the modem further enhances performance through robust links supported by leveraging spatial diversity combining techniques. +- **Enhanced Capability:** The [multi-receiver variant](/products/wnc/gen4x/accessories/multi-receiver){:target="_blank"} of the modem further enhances performance through robust links supported by leveraging spatial diversity combining techniques. - **Powered by UnetStack:** Leveraging [UnetStack](/products/wnc/unetstack/){:target="_blank"}, a versatile software framework for underwater communications and networking, the S40H series delivers unparalleled performance and adaptability. - **Class-Leading Performance:** Combining a software-defined open architecture design with edge computing capability and machine learning-based link tuning features, these modems set a new standard for performance in the subsea wireless industry.