@jutge.org/toolkit 4.2.10 → 4.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -4
- package/assets/latex/root-text-short.tpl.tex +2 -1
- package/assets/problems/demo/demo.pbm/problem.en.tex +1 -1
- package/dist/index.js +583 -562
- package/docs/problem-anatomy.md +5 -1
- package/package.json +4 -2
- package/toolkit/compilers.ts +1 -1
- package/toolkit/doctor.ts +1 -0
- package/toolkit/index.ts +7 -3
- package/toolkit/make.ts +5 -2
- package/toolkit/stage.ts +13 -0
- package/toolkit/upload.ts +2 -0
- /package/assets/latex/{root-text.tpl.tex → root-text-full.tpl.tex} +0 -0
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@ A powerful command-line toolkit for creating and managing programming problems o
|
|
|
9
9
|
- 🔧 Compile and test solutions in multiple programming languages
|
|
10
10
|
- 📄 Generate PDF statements and other formats automatically
|
|
11
11
|
- ✅ Verify solutions against test cases
|
|
12
|
+
- 🎬 Stage problems matching Jutge.org specifications
|
|
12
13
|
- ☁️ Upload and update problems directly to Jutge.org
|
|
13
14
|
- ✨ Beautiful terminal interface with color output and help
|
|
14
15
|
|
|
@@ -16,9 +17,9 @@ A powerful command-line toolkit for creating and managing programming problems o
|
|
|
16
17
|
|
|
17
18
|
The toolkit requires [Bun](https://bun.sh) as a JavaScript runtime. Follow the installation guides for your platform:
|
|
18
19
|
|
|
19
|
-
- **[Linux Installation Guide](docs/linux-installation.md)**
|
|
20
|
-
- **[macOS Installation Guide](docs/macos-installation.md)**
|
|
21
|
-
- **[Windows Installation Guide](docs/windows-installation.md)**
|
|
20
|
+
- **[Linux Installation Guide](docs/linux-installation.md)**
|
|
21
|
+
- **[macOS Installation Guide](docs/macos-installation.md)**
|
|
22
|
+
- **[Windows Installation Guide](docs/windows-installation.md)**
|
|
22
23
|
|
|
23
24
|
### Quick Install
|
|
24
25
|
|
|
@@ -40,7 +41,7 @@ jtk --version
|
|
|
40
41
|
|
|
41
42
|
```bash
|
|
42
43
|
# Get help
|
|
43
|
-
jtk
|
|
44
|
+
jtk
|
|
44
45
|
jtk --help
|
|
45
46
|
|
|
46
47
|
# Check system dependencies
|
|
@@ -68,6 +69,33 @@ jtk upload
|
|
|
68
69
|
|
|
69
70
|
For a complete walkthrough, see the [Getting Started Guide](docs/getting-started-guide.md).
|
|
70
71
|
|
|
72
|
+
## Flow Overview
|
|
73
|
+
|
|
74
|
+
1. Create a problem
|
|
75
|
+
- Use `jtk clone` to start from a template
|
|
76
|
+
- Use `jtk generate problem` to create with JutgeAI
|
|
77
|
+
- Create problem structure manually if preferred
|
|
78
|
+
|
|
79
|
+
2. Edit the problem
|
|
80
|
+
- Modify statements, test cases, and solutions as needed
|
|
81
|
+
- Use `jtk generate translations` to add multilingual support
|
|
82
|
+
- Use `jtk generate solutions` to add alternative solutions
|
|
83
|
+
- Use `jtk generate generate tests` to create test cases generator
|
|
84
|
+
|
|
85
|
+
3. Build the problem
|
|
86
|
+
- Run `jtk make` to build all problem elements (statements, solutions, correct test cases)
|
|
87
|
+
|
|
88
|
+
4. Optional: Verify alternative solutions
|
|
89
|
+
- Use `jtk verify <solution>` to test alternative solutions for correctness (efficiency testing not yet supported)
|
|
90
|
+
|
|
91
|
+
5. Optional: Stage the problem
|
|
92
|
+
- Run `jtk stage` to stage the files as will be used by Jutge.org
|
|
93
|
+
|
|
94
|
+
6. Upload the problem
|
|
95
|
+
- Use `jtk upload` to publish the problem on Jutge.org
|
|
96
|
+
|
|
97
|
+
Remember that Jutge.org does not generate the correct test cases; you must provide them.
|
|
98
|
+
|
|
71
99
|
## Documentation
|
|
72
100
|
|
|
73
101
|
### Essential Guides
|
|
@@ -102,6 +130,9 @@ jtk make pdf # Generate PDF statements only
|
|
|
102
130
|
jtk verify <program> # Test a solution
|
|
103
131
|
jtk clean # Clean temporary files
|
|
104
132
|
|
|
133
|
+
# Staging
|
|
134
|
+
jtk stage # Stage problem for Jutge.org
|
|
135
|
+
|
|
105
136
|
# Publishing
|
|
106
137
|
jtk upload # Upload problem to Jutge.org
|
|
107
138
|
|
|
@@ -114,9 +145,11 @@ jtk about # Show toolkit information
|
|
|
114
145
|
## Requirements
|
|
115
146
|
|
|
116
147
|
### Core Requirements
|
|
148
|
+
|
|
117
149
|
- [Bun](https://bun.sh) - JavaScript runtime (required)
|
|
118
150
|
|
|
119
151
|
### Optional Dependencies
|
|
152
|
+
|
|
120
153
|
- **LaTeX** (for PDF generation) - texlive-xetex, texlive-fonts-recommended
|
|
121
154
|
- **Pandoc** (for format conversion)
|
|
122
155
|
- **Programming language compilers/interpreters** - Python, GCC/G++, Java, etc. (depending on your needs)
|
|
@@ -296,6 +296,6 @@ Macros for including sample inputs and outputs are also provided:
|
|
|
296
296
|
\item \verb|\Sample|
|
|
297
297
|
\item \verb|\SampleOneCol|
|
|
298
298
|
\item \verb|\SampleTwoCol|
|
|
299
|
-
\item \verb|\SampleSession|
|
|
299
|
+
\item \verb|\SampleSession| (uses \verb|sample.dt| file)
|
|
300
300
|
\end{itemize*}
|
|
301
301
|
|