Skip to content
This repository was archived by the owner on Feb 18, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitkit-cspell.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
automations
devenv
farmdata
foss
gitkit
Expand All @@ -9,7 +8,6 @@ halign
HFOSSedu
inclusivity
kitclient
nbsp
opensource
POGIL
Runestone
Expand Down
77 changes: 68 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

This repository contains the pretext source for the GitKit Runestone texts.

If you are interested in using the GitKit Text please see the Instructor Guide in the text on Runestone by using one of the following link: [GitKit](https://runestone.academy/ns/books/published/gitkitlinux/the-gitkit-book.html?mode=browsing)
If you are interested in using the GitKit Text please see the Instructor Guide in the text on Runestone by using one of the following links:
- [GitKit (Linux Desktop Edition)](https://runestone.academy/ns/books/published/gitkitlinux/the-gitkit-book.html?mode=browsing) - students work in a full Linux desktop environment in this edition.
- [GitKit (VSCode Edition)](https://runestone.academy/ns/books/published/gitkitvscode/the-gitkit-book.html?mode=browsing) - students work within the VSCode IDE in this edition.

## Licensing

Expand Down Expand Up @@ -299,19 +301,76 @@ An `<exercise>` containing `<task>`s can be used to create a question with multi
Note:
- Fill-in questions are not currently suported within a `<task>`. A [free response question](https://runestone.academy/ns/books/published/PTXSB/rune-20.html) (with [source](https://runestone.academy/ns/books/published/PTXSB/rune-20.html)) should be used instead. Note that the free response box only renders when running in Runestone. This is because free response must be hand graded and cannot be auto checked in a static web deploy. See [Using a fill in the blank exercise in a task](https://groups.google.com/g/pretext-support/c/VWLb_W0AT18) for updates on this issue.

#### Text Versions
#### Adding Version Specific Content

There are 3 versions of the text that can be built:
There are 10 versions of the text that can be built:

- `web` - An HTML version of the text. This will some but not all of the interactive Runestone question types.
- `print` - A PDF version of the text.
- `runestone` - The version built to be served by Runestone Academy.
- `student-web-linux` and `student-print-linux` - The Linux KitClient book as students will see it.
- `student-web-vscode` and `student-print-vscde` - The VSCode KitClient book as students will see it.

- `instructor-web-linux` and `instructor-print-linux` - The Linux KitClient book including notes to the instructor (see below).
- `instructor-web-vscode` and `instructor-print-vscode` - The VSCode KitClient book including notes to the instructor (see below).

- `web` and `print` - same as the instructor Linux version. This is included for the CodeChat preview.

##### Building a Specific Version

Any of these versions can be built using "Build another target..." option on the `PreTeXt` menu or by using terminal commands similar to:

```text
pretext build web
pretext view web
```
pretext build instructor-web-linux
pretext view instructor-web-linux
```

##### Adding KitClient Specific Content

Content specific to a given kit client is indicated by adding a `component` attribute to to divisions/elements as follows:

```
<p
component="linux-kit-client"
xml:id="topic-some-stuff-linux">
This text appears only in the Linux Kit Client versions.
</p>

<p
component="vscode-kit-client"
xml:id="topic-some-stuff-vscode">
This text appears only in the VSCode Kit Client versions.
</p>
```

- If a division/element will appear only in the `linux` or `vscode` version of the text its `xml:id` should have a suffix indicating its version.
- If two divisions/elements provide alternate content for the `linux` and `vscode` versions their `xml:ids` will be the same except for the suffix.

##### Instructor Version Content

A `commentary` element with the `component="instructor"` attrribute is used to add instructor guide information directly to the source text as follows:

```xml
<commentary component="instructor">
<tabular top="major" bottom="major" left="major" right="major">
<col width="100%" />
<row>
<cell>
<p>
<alert>Instructor Note:</alert>: Information for the instructor appears here.
</p>
</cell>
</row>
</tabular>
</commentary>
```

Note:
- The `<tabular>` is included to place all comments for the instructor into a box.

##### Defining a Version

The available versions are defined by the `<target>`s in the `project.ptx` file. Each `<target>` references a `.ptx` file in the `publication` folder that indicates the content that will appear in the version.

##### Publishing a Version

Runestone does not currently support the publication of different versions of a text from a single repository. Instead, the solution is to create a fork of this repository. Then in that repository change the `publication` file that is the `target` of the `runestone` target to point to the `publication` file for the version that you would like to publish. Then create a new Runestone text using that repository.

See the [GitKit-VSCode Repository](https://github.com/HFOSSedu/GitKit-VSCode) for an example. That repository also includes information about how to update it from this repository when edits are made.
Binary file modified materials/images/GitKit-Text-Soure-Images.pptx
Binary file not shown.
Binary file modified materials/slides/Ch5-MergeConflicts.pptx
Binary file not shown.
23 changes: 20 additions & 3 deletions project.ptx
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,27 @@
<!-- This file, the project manifest, provides the overall configuration for your PreTeXt project. To edit the content of your document, open `source/main.ptx`. See https://pretextbook.org/doc/guide/html/processing-CLI.html#cli-project-manifest. -->
<project ptx-version="2">
<targets>
<target name="web" format="html" publication="publication.ptx"/>
<target name="print" format="pdf" publication="publication.ptx"/>
<target name="web" format="html" publication="publication-instructor-linux.ptx"/>
<target name="print" format="pdf" publication="publication-instructor-linux.ptx"/>

<!-- This is the target that is built on runestone -->
<target name="runestone" format="html" publication="publication-runestone.ptx" output-dir="published/gitkit" />
<!-- It will need to be made to point to the vscode publication file in the fork for that edition. -->
<!-- The output-dir should also be changed to a unique directory for the VSCode version. -->
<target name="runestone" format="html" publication="publication-runestone-linux.ptx" output-dir="published/gitkitlinux" />

<!--
<target name="runestone-linux" format="html" publication="publication-runestone-linux.ptx" output-dir="publication/gitkit" />
<target name="runestone-vscode" format="html" publication="publication-runestone-vscode.ptx" output-dir="publication/gitkit" />
-->

<target name="student-web-linux" format="html" publication="publication-student-linux.ptx"/>
<target name="student-print-linux" format="pdf" publication="publication-student-linux.ptx"/>
<target name="instructor-web-linux" format="html" publication="publication-instructor-linux.ptx"/>
<target name="instructor-print-linux" format="pdf" publication="publication-instructor-linux.ptx"/>

<target name="student-web-vscode" format="html" publication="publication-student-vscode.ptx"/>
<target name="student-print-vscode" format="pdf" publication="publication-student-vscode.ptx"/>
<target name="instructor-web-vscode" format="html" publication="publication-instructor-vscode.ptx"/>
<target name="instructor-print-vscode" format="pdf" publication="publication-instructor-vscode.ptx"/>
</targets>
</project>
141 changes: 141 additions & 0 deletions publication/publication-instructor-linux.ptx
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This is the publication file for a newly generated PreTeXt book. -->
<!-- By changing the values of attributes here, you can change how -->
<!-- the output looks and functions. For the complete documentation -->
<!-- of publication-file options, see -->
<!-- https://pretextbook.org/doc/guide/html/publisher-file-reference.html -->

<publication>
<common>
<!-- Level at which are html files generated (chapter/section/etc): -->
<chunking level="2" />
<!-- Depth for table of contents. 0 means no TOC -->
<tableofcontents level="2" />
<!-- Visibility of exercise components where they first appear. -->
<!-- There are four components (statement/hint/answer/solution) for each -->
<!-- of five exercise types (inline/divisional/worksheet/reading/ -->
<!-- project). Some examples: -->
<exercise-inline statement="yes" hint="yes" answer="no" solution="no" />
<exercise-divisional statement="yes" hint="yes" />
<!-- Style of fill-in-the-blanks: -->
<fillin textstyle="underline" mathstyle="shade" />
<!-- You can set a watermark: -->
<!-- <watermark scale="1.0">DRAFT</watermark> -->
</common>


<!-- Set where external assets and generated assets will be -->
<!-- stored or created. Directories are relative to the main -->
<!-- source PreTeXt file -->
<source>
<directories external="../assets" generated="../generated-assets" />
<!-- Set which marked elements are included in this version: -->
<!-- See
https://pretextbook.org/doc/guide/html/publication-file-source.html#publication-file-source-version -->
<!-- <version include="videos labs"/> -->
<version include="instructor linux-kit-client" />
</source>

<numbering>
<!-- the divisions element describes the numbering of divisions. -->
<!-- @part-structure should be "decorative" or "structural", -->
<!-- were the latter would restart numbering chapters within each -->
<!-- part (this only matters if your book has parts). -->
<!-- The attribute @chapter-start give the number of the first -->
<!-- chapter. @level says how deep (chapter->section->subsection)-->
<!-- numbering should appear. -->
<!-- For use with a book organized by part, you can set the -->
<!-- @part-structure to "decorative" or "structural" -->
<!-- <divisions part-structure="decorative" chapter-start="1" level="3"/> -->
<!-- The next elements say how the levels deep to break up the -->
<!-- numbering of the respective elements. Can't be more than the -->
<!-- @level on divisions above. -->
<blocks level="2" />
<projects level="2" />
<equations level="2" />
<footnotes level="2" />
</numbering>

<!-- LaTeX specific options: set @print="yes" to get pdf set up -->
<!-- for printing; set @sides="two" if the printing woudl be two- -->
<!-- sided. @pageref="yes/no" controls whether page number are -->
<!-- included in cross-references -->
<latex print="yes" sides="two" font-size="10" draft="no">
<!-- Control text justification and bottom page behavior: -->
<page right-alignment="flush" bottom-alignment="ragged" />
<!-- Add content to \geometry{}: -->
<!-- <geometry></geometry> -->
<!-- The asymptote/@links set to "yes" would produce -->
<!-- links the html version of asymptote graphics. -->
<asymptote links="no" />
<!-- Set @formatted to "no" to remove formatting on worksheets: -->
<worksheets formatted="yes" />
</latex>

<html>
<platform host="web"/>
<!-- The host above could also be "runestone" -->

<!-- Whether to knowl a particular elements is set here -->
<!-- Lots of elements have this possibility; see the guide -->
<knowl
theorem="no"
proof="yes"
definition="no"
example="yes"
example-solution="yes"
project="no"
task="no"
remark="no"
objectives="no"
outcomes="no"
figure="no"
table="no"
listing="no"
list="no"
exercise-inline="no"
exercise-divisional="no"
exercise-worksheet="no"
exercise-readingquestion="no"
/>
<!-- Specify the style of the html by giving names to -->
<!-- override defaults. Ex: to use "style_oscarlevin.css" -->
<!-- put <css style="oscarlevin"/> -->
<!-- See also -->
<!-- https://pretextbook.org/doc/guide/html/publication-file-online.html#online-style-options -->
<css
style="default"
colors="blue_red"
knowls="default"
toc="default"
banner="default"
navbar="default"
/>
<!-- Search can be default or none, or you can use a Google-cx number to use google's search
feature (but then variant should be set to none to avoid conflict) -->
<search variant="default" />
<!-- Embedded calculators. For math, this could be geogebra-classic, geogebra-graphing,
geogebra-geometry, and geogebra-3d. For ActiveCode, you can specify a language (python,
javascript, etc). -->
<calculator model="none" activecode="none" />
<!-- Set the base URL of where the online version is hosted to have links in other formats -->
<!-- <baseurl href="changetomywebsite.org"/> -->
<!-- Control behavior of online WeBWorK, per type: -->
<webwork
inline="dynamic"
divisional="static"
reading="static"
worksheet="static"
project="dynamic"
/>
<!-- Magic IDs identify HTML pages to analytics services -->
<!-- Presence implies relevant Javascript will be added -->
<!-- StatCounter requires both values to be set -->
<!-- <analytics google-gst="UA-0123456-1" statcounter-project="0123456"
statcounter-security="0123456"/> -->
</html>

<!-- To use WeBWorK, you need a server. -->
<!-- <webwork server="https://webwork-ptx.aimath.org"> -->
</publication>
Loading