Skip to content

Commit

Permalink
build based on 9e41775
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Oct 2, 2023
1 parent 8119637 commit 2d55f28
Show file tree
Hide file tree
Showing 110 changed files with 23,234 additions and 23,234 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-10-01T21:09:17","documenter_version":"1.1.0"}}
{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-10-02T07:15:22","documenter_version":"1.1.0"}}
2 changes: 1 addition & 1 deletion dev/authors/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/callbacks/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/code_of_conduct/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/contributing/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../authors/">« Authors</a><a class="docs-footer-nextpage" href="../code_of_conduct/">Code of Conduct »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Sunday 1 October 2023 21:08">Sunday 1 October 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
this project or the open source license(s) involved.</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../authors/">« Authors</a><a class="docs-footer-nextpage" href="../code_of_conduct/">Code of Conduct »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Monday 2 October 2023 07:13">Monday 2 October 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/conventions/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/development/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,4 @@
Trixi.IdealGlmMhdEquations2D
Trixi.IdealGlmMhdMulticomponentEquations1D
[...]</code></pre></li></ul><h2 id="Text-editors"><a class="docs-heading-anchor" href="#Text-editors">Text editors</a><a id="Text-editors-1"></a><a class="docs-heading-anchor-permalink" href="#Text-editors" title="Permalink"></a></h2><p>When writing code, the choice of text editor can have a significant impact on productivity and developer satisfaction. While using the default text editor of the operating system has its own benefits (specifically the lack of an explicit installation procure), usually it makes sense to switch to a more programming-friendly tool. In the following, a few of the many options are listed and discussed:</p><h3 id="VS-Code"><a class="docs-heading-anchor" href="#VS-Code">VS Code</a><a id="VS-Code-1"></a><a class="docs-heading-anchor-permalink" href="#VS-Code" title="Permalink"></a></h3><p><a href="https://code.visualstudio.com/">Visual Studio Code</a> is a modern open source editor with <a href="https://github.com/julia-vscode/julia-vscode">good support for Julia</a>. While <a href="#Juno">Juno</a> had some better support in the past, the developers of Juno and the Julia VS Code plugin are joining forces and concentrating on VS Code since support of Atom has been suspended. Basically, all comments on <a href="#Juno">Juno</a> below also apply to VS Code.</p><h3 id="Juno"><a class="docs-heading-anchor" href="#Juno">Juno</a><a id="Juno-1"></a><a class="docs-heading-anchor-permalink" href="#Juno" title="Permalink"></a></h3><p>If you are new to programming or do not have a preference for a text editor yet, <a href="https://junolab.org">Juno</a> is a good choice for developing Julia code. It is based on <em>Atom</em>, a sophisticated and widely used editor for software developers, and is enhanced with several Julia-specific features. Furthermore and especially helpful for novice programmers, it has a MATLAB-like appearance with easy and interactive access to the current variables, the help system, and a debugger.</p><h3 id="Vim-or-Emacs"><a class="docs-heading-anchor" href="#Vim-or-Emacs">Vim or Emacs</a><a id="Vim-or-Emacs-1"></a><a class="docs-heading-anchor-permalink" href="#Vim-or-Emacs" title="Permalink"></a></h3><p>Vim and Emacs are both very popular editors that work great with Julia. One of their advantages is that they are text editors without a GUI and as such are available for almost any operating system. They also are preinstalled on virtually all Unix-like systems. However, Vim and Emacs come with their own, steep learning curve if they have never been used before. Therefore, if in doubt, it is probably easier to get started with a classic GUI-based text editor (like Juno). If you decide to use Vim or Emacs, make sure that you install the corresponding Vim plugin <a href="https://github.com/JuliaEditorSupport/julia-vim">julia-vim</a> or Emacs major mode <a href="https://github.com/JuliaEditorSupport/julia-emacs">julia-emacs</a>.</p><h2 id="Debugging"><a class="docs-heading-anchor" href="#Debugging">Debugging</a><a id="Debugging-1"></a><a class="docs-heading-anchor-permalink" href="#Debugging" title="Permalink"></a></h2><p>Julia offers several options for debugging. A classical debugger is available with the <a href="https://github.com/JuliaDebug/Debugger.jl">Debugger.jl</a> package or in the <a href="https://www.julia-vscode.org/docs/stable/userguide/debugging/">Julia extension for VS Code</a>. However, it can be quite slow and, at the time of writing (January 2023), currently does not work properly with Trixi.jl. The <a href="https://github.com/JuliaDebug/Infiltrator.jl">Infiltrator.jl</a> package on the other hand does not offer all features of a full debugger, but is a fast and simple tool that allows users to set breakpoints to open a local REPL session and access the call stack and variables.</p><h3 id="Infiltrator"><a class="docs-heading-anchor" href="#Infiltrator">Infiltrator</a><a id="Infiltrator-1"></a><a class="docs-heading-anchor-permalink" href="#Infiltrator" title="Permalink"></a></h3><p>The Infiltrator package provides fast, interactive breakpoints using the <code>@infiltrate</code> command, which drops the user into a local REPL session. From there, it is possible to access local variables, see the call stack, and execute statements.</p><p>The package can be installed in the Julia REPL by executing</p><pre><code class="language-julia-repl hljs">(@v1.9) pkg&gt; add Infiltrator</code></pre><p>To load the package in the Julia REPL execute</p><pre><code class="language-julia-repl hljs">julia&gt; using Infiltrator</code></pre><p>Breakpoints can be set by adding a line with the <code>@infiltrate</code> macro at the respective position in the code. Use <a href="#interactive-use-of-julia">Revise</a> if you want to set and delete breakpoints in your package without having to restart Julia.</p><div class="admonition is-info"><header class="admonition-header">Use `@autoinfiltrate` when debugging Trixi.jl</header><div class="admonition-body"><p>When running Julia inside a package environment, e.g., inside the source code of Trixi.jl itself, the <code>@infiltrate</code> macro only works if <code>Infiltrator</code> has been added to the package dependencies. To avoid this, you can use the (non-exported) <code>@autoinfiltrate</code> macro in Trixi.jl, which only requires Infiltrator.jl to be available in the current environment stack and will auto-load it for you.</p></div></div><p>Triggering the breakpoint starts a REPL session where it is possible to interact with the current local scope. Possible commands are:</p><ul><li><code>@locals</code>: Print the local variables.</li><li><code>@exfiltrate</code>: Save the local variables to a global storage, which can be accessed with the <code>safehouse</code> variable outside the Infiltrator session.</li><li><code>@trace</code>: Print the current stack trace.</li><li>Execute other arbitrary statements</li><li><code>?</code>: Print a help list with all options</li></ul><p>To finish a debugging session, either use <code>@continue</code> to continue and eventually stop at the next breakpoint or <code>@exit</code> to skip further breakpoints. After the code has finished, local variables saved with <code>@exfiltrate</code> can be accessed in the REPL using the <code>safehouse</code> variable.</p><p>Limitations of using Infiltrator.jl are that local variables cannot be changed, and that it is not possible to step into further calls or access other function scopes.</p><h2 id="Releasing-a-new-version-of-Trixi.jl,-Trixi2Vtk"><a class="docs-heading-anchor" href="#Releasing-a-new-version-of-Trixi.jl,-Trixi2Vtk">Releasing a new version of Trixi.jl, Trixi2Vtk</a><a id="Releasing-a-new-version-of-Trixi.jl,-Trixi2Vtk-1"></a><a class="docs-heading-anchor-permalink" href="#Releasing-a-new-version-of-Trixi.jl,-Trixi2Vtk" title="Permalink"></a></h2><ul><li><p>Check whether everything is okay, tests pass etc.</p></li><li><p>Set the new version number in <code>Project.toml</code> according to the Julian version of semver. Commit and push.</p></li><li><p>Comment <code>@JuliaRegistrator register</code> on the commit setting the version number.</p></li><li><p><code>JuliaRegistrator</code> will create a PR with the new version in the General registry. Wait for it to be merged.</p></li><li><p>Increment the version number in <code>Project.toml</code> again with suffix <code>-pre</code>. For example, if you have released version <code>v0.2.0</code>, use <code>v0.2.1-pre</code> as new version number.</p></li><li><p>When a new version of Trixi.jl was released, check whether the <code>[compat]</code> entries in <code>test/Project.toml</code> in Trixi2Vtk should be updated. When a new version of Trixi2Vtk was released, check whether the <code>[compat]</code> entries in <code>docs/Project.toml</code> in Trixi.jl should be updated.</p><p>These entries will also be checked regularly by CompatHelper (once a day). Hence, if everything was released correctly, you should only need to do these checks manually if new minor versions with changes in the docs of Trixi2Vtk were released but no new version of Trixi.jl was released afterwards.</p></li></ul><h2 id="Preview-of-the-documentation"><a class="docs-heading-anchor" href="#Preview-of-the-documentation">Preview of the documentation</a><a id="Preview-of-the-documentation-1"></a><a class="docs-heading-anchor-permalink" href="#Preview-of-the-documentation" title="Permalink"></a></h2><p>You can build the documentation of Trixi.jl locally by running</p><pre><code class="language-bash hljs">julia --project=docs -e &#39;using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()&#39;
julia --project=docs --color=yes docs/make.jl</code></pre><p>from the Trixi.jl main directory. Then, you can look at the html files generated in <code>docs/build</code>. For PRs triggered from branches inside the Trixi.jl main repository previews of the new documentation are generated at <code>https://trixi-framework.github.io/Trixi.jl/previews/PRXXX</code>, where <code>XXX</code> is the number of the PR. This does not work for PRs from forks for security reasons (since anyone could otherwise push arbitrary stuff to the Trixi.jl website, including malicious code).</p><h2 id="trixi2vtk-dev"><a class="docs-heading-anchor" href="#trixi2vtk-dev">Developing Trixi2Vtk</a><a id="trixi2vtk-dev-1"></a><a class="docs-heading-anchor-permalink" href="#trixi2vtk-dev" title="Permalink"></a></h2><p>Trixi2Vtk has Trixi.jl as dependency and uses Trixi.jl&#39;s implementation to, e.g., load mesh files. When developing Trixi2Vtk, one may want to change functions in Trixi.jl to allow them to be reused in Trixi2Vtk. To use a locally modified Trixi.jl clone instead of a Trixi.jl release, one can tell Pkg to use the local source code of Trixi.jl instead of a registered version by running</p><pre><code class="language-julia-repl hljs">(@v1.9) pkg&gt; develop path/to/Trixi.jl</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../conventions/">« Conventions</a><a class="docs-footer-nextpage" href="../github-git/">GitHub &amp; Git »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Sunday 1 October 2023 21:07">Sunday 1 October 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
julia --project=docs --color=yes docs/make.jl</code></pre><p>from the Trixi.jl main directory. Then, you can look at the html files generated in <code>docs/build</code>. For PRs triggered from branches inside the Trixi.jl main repository previews of the new documentation are generated at <code>https://trixi-framework.github.io/Trixi.jl/previews/PRXXX</code>, where <code>XXX</code> is the number of the PR. This does not work for PRs from forks for security reasons (since anyone could otherwise push arbitrary stuff to the Trixi.jl website, including malicious code).</p><h2 id="trixi2vtk-dev"><a class="docs-heading-anchor" href="#trixi2vtk-dev">Developing Trixi2Vtk</a><a id="trixi2vtk-dev-1"></a><a class="docs-heading-anchor-permalink" href="#trixi2vtk-dev" title="Permalink"></a></h2><p>Trixi2Vtk has Trixi.jl as dependency and uses Trixi.jl&#39;s implementation to, e.g., load mesh files. When developing Trixi2Vtk, one may want to change functions in Trixi.jl to allow them to be reused in Trixi2Vtk. To use a locally modified Trixi.jl clone instead of a Trixi.jl release, one can tell Pkg to use the local source code of Trixi.jl instead of a registered version by running</p><pre><code class="language-julia-repl hljs">(@v1.9) pkg&gt; develop path/to/Trixi.jl</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../conventions/">« Conventions</a><a class="docs-footer-nextpage" href="../github-git/">GitHub &amp; Git »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Monday 2 October 2023 07:13">Monday 2 October 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/github-git/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@
git rebase

# Clean reflog and force garbage collection
git reflog expire --expire=now --all &amp;&amp; git gc --prune=now --aggressive</code></pre><p><strong>IMPORTANT</strong>: You need to do a <code>git rebase</code> instead of a <code>git pull</code> when updating the fixed branch.</p></li></ol></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../development/">« Development</a><a class="docs-footer-nextpage" href="../styleguide/">Style guide »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Sunday 1 October 2023 21:07">Sunday 1 October 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
git reflog expire --expire=now --all &amp;&amp; git gc --prune=now --aggressive</code></pre><p><strong>IMPORTANT</strong>: You need to do a <code>git rebase</code> instead of a <code>git pull</code> when updating the fixed branch.</p></li></ol></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../development/">« Development</a><a class="docs-footer-nextpage" href="../styleguide/">Style guide »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Monday 2 October 2023 07:13">Monday 2 October 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 2d55f28

Please sign in to comment.