diff --git a/doc/user/benchmarking.md b/doc/user/benchmarking.md index 88c00a54200..dee054e5af3 100644 --- a/doc/user/benchmarking.md +++ b/doc/user/benchmarking.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Benchmarking TruffleRuby -permalink: /reference-manual/ruby/Benchmarking/ ---- # Benchmarking TruffleRuby This document lists the most important points to consider when benchmarking TruffleRuby. diff --git a/doc/user/compatibility.md b/doc/user/compatibility.md index 194dd462e95..6c0e998d4d1 100644 --- a/doc/user/compatibility.md +++ b/doc/user/compatibility.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Compatibility -permalink: /reference-manual/ruby/Compatibility/ ---- # Compatibility TruffleRuby aims to be fully compatible with the standard implementation of diff --git a/doc/user/debugging.md b/doc/user/debugging.md index 100a18d6a37..05acc77d964 100644 --- a/doc/user/debugging.md +++ b/doc/user/debugging.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Debugging Ruby -permalink: /reference-manual/ruby/Debugging/ ---- # Debugging TruffleRuby TruffleRuby, like other GraalVM languages, supports 2 standard debugging protocols: diff --git a/doc/user/deploying.md b/doc/user/deploying.md index b8313ca3c65..11007f37a21 100644 --- a/doc/user/deploying.md +++ b/doc/user/deploying.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Runtime Configurations -permalink: /reference-manual/ruby/RuntimeConfigurations/ ---- # Deploying TruffleRuby If you are attempting to experiment with deploying TruffleRuby to production we would encourage you to contact us so we can help you understand what is possible at the moment and to help solve any issues for you. diff --git a/doc/user/faq.md b/doc/user/faq.md index fa7565f9d9e..4301baa0503 100644 --- a/doc/user/faq.md +++ b/doc/user/faq.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: FAQ -permalink: /reference-manual/ruby/FAQ/ ---- # Frequently Asked Questions ### What is TruffleRuby? diff --git a/doc/user/installing-graalvm.md b/doc/user/installing-graalvm.md index ed5dbb859da..60d04c99057 100644 --- a/doc/user/installing-graalvm.md +++ b/doc/user/installing-graalvm.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Using Ruby with GraalVM -permalink: /reference-manual/ruby/InstallingGraalVM/ ---- # Using TruffleRuby with GraalVM This documentation has moved to [Installing TruffleRuby](installing-truffleruby.md). diff --git a/doc/user/installing-libssl.md b/doc/user/installing-libssl.md index 8d558c53b26..9718eef61f9 100644 --- a/doc/user/installing-libssl.md +++ b/doc/user/installing-libssl.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Installing `libssl` -permalink: /reference-manual/ruby/Installinglibssl/ ---- # Installing `libssl` TruffleRuby provides the `openssl` gem but not the native `libssl` system library that the gem uses. diff --git a/doc/user/installing-libyaml.md b/doc/user/installing-libyaml.md index c3cf9f957bd..2f36ac8dc93 100644 --- a/doc/user/installing-libyaml.md +++ b/doc/user/installing-libyaml.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Installing LibYAML -permalink: /reference-manual/ruby/InstallingLibYAML/ ---- # Installing LibYAML TruffleRuby requires to have `libyaml` installed, much like CRuby 3.2+ and Psych 5+. diff --git a/doc/user/installing-llvm.md b/doc/user/installing-llvm.md index 581448803a3..bfeddd80fcd 100644 --- a/doc/user/installing-llvm.md +++ b/doc/user/installing-llvm.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Installing Make and GCC -permalink: /reference-manual/ruby/InstallingLLVM/ ---- # Installing Make and GCC Since TruffleRuby 24.0.0, TruffleRuby no longer needs a LLVM toolchain and instead uses the system toolchain. diff --git a/doc/user/installing-truffleruby.md b/doc/user/installing-truffleruby.md index 3f843ff8158..e41a8998938 100644 --- a/doc/user/installing-truffleruby.md +++ b/doc/user/installing-truffleruby.md @@ -1,15 +1,9 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Installing TruffleRuby -permalink: /reference-manual/ruby/InstallingTruffleRuby/ ---- # Installing TruffleRuby The recommended way to install TruffleRuby is via your Ruby manager/installer, see [Getting Started](../../README.md#getting-started). You can also install TruffleRuby by manually downloading the binary tarball, extracting it, running the post-install script and adding TruffleRuby to `$PATH`. -This page documents the URLs and the extra steps necessary after downloading the tarball. +This page documents the URLs and the extra steps necessary after downloading the tarball. ## Dependencies @@ -45,7 +39,7 @@ truffleruby-VERSION-PLATFORM.tar.gz truffleruby-community-VERSION-PLATFORM.tar.gz ``` -Development builds are [also available](https://github.com/ruby/truffleruby-dev-builder/releases/latest). +Development builds are [also available](https://github.com/ruby/truffleruby-dev-builder/releases/latest). More platforms for dev builds are [available here](https://github.com/graalvm/graalvm-ce-dev-builds/releases/latest) but those builds tend to be slightly older. The Native Standalones are the files `truffleruby-community-dev-PLATFORM.tar.gz`. diff --git a/doc/user/installing-zlib.md b/doc/user/installing-zlib.md index 227d9ce5743..eda43bc2391 100644 --- a/doc/user/installing-zlib.md +++ b/doc/user/installing-zlib.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Installing `zlib` -permalink: /reference-manual/ruby/Installingzlib/ ---- # Installing `zlib` TruffleRuby provides the `zlib` module but not the native `zlib` system library that the module uses. diff --git a/doc/user/jruby-migration.md b/doc/user/jruby-migration.md index a579abb8d4e..e48dad40092 100644 --- a/doc/user/jruby-migration.md +++ b/doc/user/jruby-migration.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Migration from JRuby to Ruby -permalink: /reference-manual/ruby/JRubyMigration/ ---- # Migration from JRuby to TruffleRuby When trying TruffleRuby on your gems and applications, you are encouraged to [get in touch with the TruffleRuby team](../../README.md#contact) for help. diff --git a/doc/user/known-cves.md b/doc/user/known-cves.md index 0894601a159..877ecd7bc28 100644 --- a/doc/user/known-cves.md +++ b/doc/user/known-cves.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Security -permalink: /reference-manual/ruby/KnownCVEs/ ---- # Security Please report security vulnerabilities via the process outlined in the [reporting vulnerabilities guide](https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html). diff --git a/doc/user/optcarrot.md b/doc/user/optcarrot.md index 7e79f1608d3..501cde6bf8e 100644 --- a/doc/user/optcarrot.md +++ b/doc/user/optcarrot.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Optcarrot Example -permalink: /reference-manual/ruby/Optcarrot/ ---- # Running Optcarrot ## Running the Demo diff --git a/doc/user/options.md b/doc/user/options.md index 38f901e8be7..6131505f8b0 100644 --- a/doc/user/options.md +++ b/doc/user/options.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: TruffleRuby Options and Command Line -permalink: /reference-manual/ruby/Options/ ---- # TruffleRuby Options and Command Line TruffleRuby has the same command-line interface as our compatible MRI version. @@ -84,13 +78,13 @@ Languages: Tools: [id] [name] [website] - agentscript Agent Script + agentscript Agent Script coverage Code Coverage https://www.graalvm.org/tools/code-coverage/ cpusampler CPU Sampler https://www.graalvm.org/tools/profiling/ cputracer CPU Tracer https://www.graalvm.org/tools/profiling/ dap Debug Protocol Server https://www.graalvm.org/tools/dap/ - heap Heap Dump - heapmonitor Heap Allocation Monitor + heap Heap Dump + heapmonitor Heap Allocation Monitor insight Insight https://www.graalvm.org/tools/graalvm-insight/ inspect Chrome Inspector https://www.graalvm.org/tools/chrome-debugger/ lsp Language Server https://www.graalvm.org/tools/lsp/ diff --git a/doc/user/polyglot.md b/doc/user/polyglot.md index 6a0d69297ee..4401b1d497c 100644 --- a/doc/user/polyglot.md +++ b/doc/user/polyglot.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Polyglot Programming -permalink: /reference-manual/ruby/Polyglot/ ---- # Polyglot Programming TruffleRuby allows you to interface with any other Truffle language to create polyglot programs -- programs written in more than one language. @@ -277,7 +271,7 @@ Conceptually it is similar to running multiple Ruby interpreters in the same pro This can also be used with other languages, so for instance the outer/default context might run some Ruby code and some inner contexts run JavaScript code. This is very useful to interoperate with languages which do not support shared-memory multithreading like JavaScript, as one can then create one or more inner contexts per thread and still have the outer context use multithreaded Ruby. -Objects from an inner context can be passed to other contexts and they are treated as foreign objects: +Objects from an inner context can be passed to other contexts and they are treated as foreign objects: ```ruby Polyglot::InnerContext.new do |context| context.eval('ruby', "p Object.new") # prints # diff --git a/doc/user/reporting-performance-problems.md b/doc/user/reporting-performance-problems.md index 3757353be0a..5480846e531 100644 --- a/doc/user/reporting-performance-problems.md +++ b/doc/user/reporting-performance-problems.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Reporting Performance Problems -permalink: /reference-manual/ruby/ReportingPerformanceProblems/ ---- # Reporting Performance Problems We are interested in hearing from you if you experience lower performance with TruffleRuby than with other implementations of Ruby. diff --git a/doc/user/ruby-managers.md b/doc/user/ruby-managers.md index 277669280de..79959fbe883 100644 --- a/doc/user/ruby-managers.md +++ b/doc/user/ruby-managers.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Ruby Managers and Installers -permalink: /reference-manual/ruby/RubyManagers/ ---- # Ruby Managers and Installers TruffleRuby is supported by all major Ruby installers. diff --git a/doc/user/standalone-distribution.md b/doc/user/standalone-distribution.md index 6f84e661e7b..52d2c0d79c6 100644 --- a/doc/user/standalone-distribution.md +++ b/doc/user/standalone-distribution.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Standalone Distribution -permalink: /reference-manual/ruby/StandaloneDistribution/ ---- # Standalone Distribution This documentation has moved to [Installing TruffleRuby](installing-truffleruby.md). diff --git a/doc/user/testing-truffleruby-in-ci.md b/doc/user/testing-truffleruby-in-ci.md index a74f3a73f47..5aaf7dfbc9e 100644 --- a/doc/user/testing-truffleruby-in-ci.md +++ b/doc/user/testing-truffleruby-in-ci.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Testing TruffleRuby in CI -permalink: /reference-manual/ruby/TestingTruffleRubyInCI/ ---- # Testing TruffleRuby in CI ## Testing TruffleRuby in GitHub Actions diff --git a/doc/user/thread-safe-extensions.md b/doc/user/thread-safe-extensions.md index 6a35ba15cde..e5d044979f6 100644 --- a/doc/user/thread-safe-extensions.md +++ b/doc/user/thread-safe-extensions.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Thread-Safe Extensions -permalink: /reference-manual/ruby/ThreadSafeExtensions/ ---- # Thread-Safe Extensions Native extensions are by default considered thread-unsafe for maximum compatibility with CRuby and use the global extension lock (unless `--cexts-lock=false` is used). diff --git a/doc/user/tools.md b/doc/user/tools.md index d8a0b7f4c5f..96dd6e9cc6f 100644 --- a/doc/user/tools.md +++ b/doc/user/tools.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Development Tools for Ruby -permalink: /reference-manual/ruby/Tools/ ---- # Development Tools for Ruby TruffleRuby ships with tools automatically provided by GraalVM. Run `--help:tools` to see a full list of options. diff --git a/doc/user/truffleruby-additions.md b/doc/user/truffleruby-additions.md index 826d25a7af2..f7e21d95bf6 100644 --- a/doc/user/truffleruby-additions.md +++ b/doc/user/truffleruby-additions.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Ruby Additional Functionality -permalink: /reference-manual/ruby/TruffleRubyAdditions/ ---- # TruffleRuby Additional Functionality TruffleRuby is intended to be usable as a standard Ruby implementation that runs programs developed on other implementations, but it also provides additional functionality beyond that of other implementations. diff --git a/doc/user/utf8-locale.md b/doc/user/utf8-locale.md index b8e610dced8..006e27a022c 100644 --- a/doc/user/utf8-locale.md +++ b/doc/user/utf8-locale.md @@ -1,9 +1,3 @@ ---- -layout: docs-experimental -toc_group: ruby -link_title: Setting up a UTF-8 Locale -permalink: /reference-manual/ruby/UTF8Locale/ ---- # Setting Up a UTF-8 Locale You need a UTF-8 locale to run some Ruby applications. diff --git a/tool/generate-user-doc.rb b/tool/generate-user-doc.rb deleted file mode 100644 index 232823cd7f8..00000000000 --- a/tool/generate-user-doc.rb +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2023, 2025 Oracle and/or its affiliates. All rights reserved. This -# code is released under a tri EPL/GPL/LGPL license. You can use it, -# redistribute it and/or modify it under the terms of the: -# -# Eclipse Public License version 2.0, or -# GNU General Public License version 2, or -# GNU Lesser General Public License version 2.1. - -root = File.expand_path('../..', __FILE__) - -contents = File.read("#{root}/README.md") - -contents = contents.gsub(%r{\]\(([^)]+\.(?:md|txt)(?:#.*)?)\)}) { - link = $1 - if link.start_with? 'http:' or link.start_with? 'https:' - "](#{link})" # absolute link - elsif link.start_with? 'doc/user/' - # Update links to user docs which are sibling files on the website - "](#{link.sub('doc/user/', '')})" - else - # Link to GitHub for .md files outside doc/user - "](https://github.com/oracle/truffleruby/blob/master/#{link})" - end -} - -# Fix link to logo -contents = contents.gsub(%r{\]\(logo/([^)]+)\)}, - '](https://raw.githubusercontent.com/oracle/truffleruby/master/logo/\1)') - -# Remove the Documentation section for the website (redundant with the sidebar menu) -contents = contents.sub(/^## Documentation\n.+?\n##/m, '##') - -# Add top-level title as expected by the website -contents = <