diff --git a/content/en/_index.md b/content/en/_index.md index a929f9b20..4cd6206aa 100644 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -21,7 +21,7 @@ The Medley system was created at Xerox's Palo Alto Research Center (PARC). PARC Interlisp had its beginnings as a DARPA sponsored Lisp environment for researchers. Interlisp was then ported and expanded into Interlisp-D, first released by Xerox and distributed commercially until its development tapered off in the 1990s. Now this classic software system is running again on your favorite operating system. The project is more than a trip down memory lane: our mission is to expand the scope of what Medley can do, fulfilling its promise of software tools limited only by the user's imagination. Dive in and explore the language, the tools, and the myriad applications, experiments, and playful creations that were crafted in and for Interlisp. -The [2025 Medley Interlisp Annual Report](project/status/2025medleyannualreport/) describes our recent activities. +The [2025 Medley Interlisp Annual Report](project/status/reports/2025medleyannualreport/) describes our recent activities. We encourage you to read the [Medley primer](https://primer.interlisp.org) and try out the Interlisp environment. The primer, designed for modern users, assumes no prior knowledge of Lisp and will ease you into the system. diff --git a/content/en/project/partners/_index.md b/content/en/project/partners/_index.md index 64a3507a5..bb8e505e7 100644 --- a/content/en/project/partners/_index.md +++ b/content/en/project/partners/_index.md @@ -40,7 +40,7 @@ University of Alberta In 2025 we started a collaboration with the Interim Computer Museum for an Interlisp exhibition. * The museum set up a space to demonstrate the running Medley system and let visitor try it out -* We developed ["Museum Mode"](/project/status/2025medleyannualreport#community-outreach) for Medley Online, a facility to support guided demonstrations in museums or other settings +* We developed ["Museum Mode"](/project/status/reports/2025medleyannualreport#community-outreach) for Medley Online, a facility to support guided demonstrations in museums or other settings ### Internet Archive diff --git a/content/en/project/status/_index.md b/content/en/project/status/_index.md index edc5562ec..cf2f7ca77 100644 --- a/content/en/project/status/_index.md +++ b/content/en/project/status/_index.md @@ -14,13 +14,17 @@ aliases: - /medley/project/status/ --- +## Annual Reports + +Each year we publish a Medley Interlisp Annual Report summarizing the project's accomplishments and ongoing work. Find them all under [Annual Reports](reports/), including the most current report. + ## Near FM interview with Larry Masinter and Frank Halasz In June of 2026 Patrick Domanico published a [writeup on his interview with Larry Masinter and Frank Halasz](https://www.patrickdomanico.com/bpm/2026/06/16/inventing-the-future-one-lisp-machine-at-a-time). Domanico hosted the interview in the March 10, 2025 episode of his show *Do You Speak Tech?* at Near FM community radio in Dublin. ## 2025 Annual Report released -We released the [2025 Medley Interlisp Annual Report](/project/status/2025medleyannualreport) which covers the 5th year of the Medley Interlisp project. +We released the [2025 Medley Interlisp Annual Report](/project/status/reports/2025medleyannualreport) which covers the 5th year of the Medley Interlisp project. ## Netstack.FM interviews Larry Masinter @@ -73,7 +77,7 @@ A [preprint](/documentation/young-ccece2025.pdf) of the paper and the [slides](/ ## 2024 Annual Report released -The [2024 Medley Interlisp Annual Report](/project/status/2024medleyannualreport) has been released. Another year of progress. +The [2024 Medley Interlisp Annual Report](/project/status/reports/2024medleyannualreport) has been released. Another year of progress. ## Larry Masinter at aNONradio in December 2024 @@ -95,7 +99,7 @@ On May 6, 2024 Andrew Sengul gave the remote talk "The Medley Interlisp Revival" ## 2023 Annual Report released -The [2023 Medley Interlisp Annual Report](/project/status/2023medleyannualreport) was released. +The [2023 Medley Interlisp Annual Report](/project/status/reports/2023medleyannualreport) was released. ## November 2023 Computer Conservation Society event @@ -113,8 +117,8 @@ being undertaken by the Medley project. ## 2022 Annual Report released -The [2022 Medley Interlisp Annual Report](/project/status/2022medleyannualreport) was released. +The [2022 Medley Interlisp Annual Report](/project/status/reports/2022medleyannualreport) was released. ## 2021 Annual Report released -We released the [2021 Medley Interlisp Annual Report](/project/status/2021medleyannualreport) on the first year of the Medley Interlisp Project. +We released the [2021 Medley Interlisp Annual Report](/project/status/reports/2021medleyannualreport) on the first year of the Medley Interlisp Project. diff --git a/content/en/project/status/2021MedleyAnnualReport.md b/content/en/project/status/reports/2021MedleyAnnualReport.md similarity index 99% rename from content/en/project/status/2021MedleyAnnualReport.md rename to content/en/project/status/reports/2021MedleyAnnualReport.md index 4d50b0bf2..31e508548 100644 --- a/content/en/project/status/2021MedleyAnnualReport.md +++ b/content/en/project/status/reports/2021MedleyAnnualReport.md @@ -2,6 +2,8 @@ title: 2021 Medley Interlisp Annual Report weight: 10 type: docs +aliases: + - /project/status/2021medleyannualreport/ --- November 15, 2021 diff --git a/content/en/project/status/2022MedleyAnnualReport.md b/content/en/project/status/reports/2022MedleyAnnualReport.md similarity index 95% rename from content/en/project/status/2022MedleyAnnualReport.md rename to content/en/project/status/reports/2022MedleyAnnualReport.md index cf8d36b74..5d7d19792 100644 --- a/content/en/project/status/2022MedleyAnnualReport.md +++ b/content/en/project/status/reports/2022MedleyAnnualReport.md @@ -3,8 +3,9 @@ title: 2022 Medley Interlisp Annual Report weight: 9 type: docs aliases: - - /medley/project/status/2022medleyannualreport/ - - /project/news/2022medleyannualrepoort/ + - /project/status/2022medleyannualreport/ + - /medley/project/status/2022medleyannualreport/ + - /project/news/2022medleyannualrepoort/ --- ### Introduction diff --git a/content/en/project/status/2023MedleyAnnualReport.md b/content/en/project/status/reports/2023MedleyAnnualReport.md similarity index 99% rename from content/en/project/status/2023MedleyAnnualReport.md rename to content/en/project/status/reports/2023MedleyAnnualReport.md index 2dc544131..fca9360dd 100644 --- a/content/en/project/status/2023MedleyAnnualReport.md +++ b/content/en/project/status/reports/2023MedleyAnnualReport.md @@ -3,8 +3,9 @@ title: 2023 Annual Report weight: 8 type: docs aliases: - - /news/2023medleyannualreport/ - - /project/news/2023medleyannualreport/ + - /project/status/2023medleyannualreport/ + - /news/2023medleyannualreport/ + - /project/news/2023medleyannualreport/ --- {{< static-img src="Resources/logo_red_no_border_568x385.png" width="284" height="194" >}} diff --git a/content/en/project/status/2024MedleyAnnualReport.md b/content/en/project/status/reports/2024MedleyAnnualReport.md similarity index 99% rename from content/en/project/status/2024MedleyAnnualReport.md rename to content/en/project/status/reports/2024MedleyAnnualReport.md index 6b7704caf..492545f3a 100755 --- a/content/en/project/status/2024MedleyAnnualReport.md +++ b/content/en/project/status/reports/2024MedleyAnnualReport.md @@ -3,8 +3,9 @@ title: 2024 Medley Interlisp Annual Report weight: 7 type: docs aliases: - - /news/2024medleyannualreport/ - - /project/news/2023medleyannualreport/ + - /project/status/2024medleyannualreport/ + - /news/2024medleyannualreport/ + - /project/news/2023medleyannualreport/ --- {{< static-img src="Resources/logo_red_no_border_568x385.png" width="284" height="194" >}} diff --git a/content/en/project/status/2025MedleyAnnualReport.md b/content/en/project/status/reports/2025MedleyAnnualReport.md similarity index 98% rename from content/en/project/status/2025MedleyAnnualReport.md rename to content/en/project/status/reports/2025MedleyAnnualReport.md index 3da0962cf..2ed7020eb 100644 --- a/content/en/project/status/2025MedleyAnnualReport.md +++ b/content/en/project/status/reports/2025MedleyAnnualReport.md @@ -3,8 +3,9 @@ title: 2025 Medley Interlisp Annual Report weight: 1 type: docs aliases: - - /news/2025medleyannualreport/ - - /project/news/2025medleyannualreport/ + - /project/status/2025medleyannualreport/ + - /news/2025medleyannualreport/ + - /project/news/2025medleyannualreport/ --- {{< static-img src="Resources/logo_red_no_border_568x385.png" width="284" height="194" >}} diff --git a/content/en/project/status/reports/_index.md b/content/en/project/status/reports/_index.md new file mode 100644 index 000000000..b3c67e529 --- /dev/null +++ b/content/en/project/status/reports/_index.md @@ -0,0 +1,22 @@ +--- +title: Annual Reports +weight: 1 +type: docs +--- + +Each year the Medley Interlisp Project publishes an annual report summarizing accomplishments and ongoing work: + +- [2025 Report](project/status/reports/2025MedleyAnnualReport) +- [2024 Report](project/status/reports/2024MedleyAnnualReport) +- [2023 Report](project/status/reports/2023MedleyAnnualReport) +- [2022 Report](project/status/reports/2022MedleyAnnualReport) +- [2021 Report](project/status/reports/2021MedleyAnnualReport) + +--- + + + +## 2025 Medley Interlisp Annual Report + +{{< include-page "project/status/reports/2025MedleyAnnualReport" >}} diff --git a/layouts/_shortcodes/include-page.html b/layouts/_shortcodes/include-page.html new file mode 100644 index 000000000..9e3404bd4 --- /dev/null +++ b/layouts/_shortcodes/include-page.html @@ -0,0 +1,9 @@ +{{/* include-page: transclude another page's rendered content without duplicating source. + Usage: {{< include-page "project/status/reports/2025MedleyAnnualReport" >}} + Single string path looked up via .Site.GetPage. Warns (build log) when missing. */}} +{{- $path := .Get 0 -}} +{{- with .Site.GetPage $path -}} + {{ .Content }} +{{- else -}} + {{ warnf "include-page: page not found: %q (referenced from %s)" $path $.Page.Path }} +{{- end -}} diff --git a/tests/test_content_integrity.py b/tests/test_content_integrity.py index 246fbab56..1d6272244 100644 --- a/tests/test_content_integrity.py +++ b/tests/test_content_integrity.py @@ -16,7 +16,9 @@ - Required keys are present - ``type`` is ``"bibliography"`` - ``date`` is a valid ISO date - - ``item_type`` is one of the known Zotero types + - ``item_type`` is one of the known Zotero types (unknown types + emit a UserWarning but do not fail, so new Zotero types don't + break CI; add valid new types to _KNOWN_ITEM_TYPES separately) - ``authors`` and ``editors`` are lists - ``url_source`` is a valid URL or empty - ``zotero_url`` is a valid Zotero URL or empty @@ -32,6 +34,7 @@ """ import re +import warnings from pathlib import Path import pytest @@ -173,11 +176,14 @@ def test_type_is_bibliography(self, path: Path, _name: str) -> None: def test_item_type_is_known(self, path: Path, _name: str) -> None: fm = _parse_front_matter(path) it = fm.get("item_type") - assert it in _KNOWN_ITEM_TYPES, ( - f"{path.name}: unknown item_type={it!r}" - f"\nAdd this item_type to _KNOWN_ITEM_TYPES in " - f"test_content_integrity.py if it is valid" - ) + if it not in _KNOWN_ITEM_TYPES: + warnings.warn( + f"{path.name}: unknown item_type={it!r}" + f"\nAdd this item_type to _KNOWN_ITEM_TYPES in " + f"test_content_integrity.py if it is valid", + UserWarning, + stacklevel=2, + ) @pytest.mark.parametrize("path,_name", _ENTRIES) def test_date_is_valid(self, path: Path, _name: str) -> None: