|
4a190f51c5
|
admin: Fix video route
|
2022-05-24 12:03:00 +02:00 |
|
|
70bad90756
|
sync: Handle overview.md and statement.md
|
2022-05-24 12:03:00 +02:00 |
|
|
f690a4e1c8
|
sync: Use goldmark instead of blackfriday
|
2022-05-22 19:10:17 +02:00 |
|
|
8b3fbdb64a
|
admin: Use gin-gonic as router
|
2022-05-22 19:10:17 +02:00 |
|
|
9d639a0315
|
sync: Non-empty directory without .git is Fatal
|
2022-05-17 18:18:33 +02:00 |
|
|
3c0751a78a
|
sync: Fix division by zero
|
2022-05-17 18:18:33 +02:00 |
|
|
86748b36c8
|
sync: Use git reset --hard --recurse-submodule
continuous-integration/drone/push Build is passing
|
2022-01-22 08:10:53 +01:00 |
|
|
d4a81aa660
|
sync: Improve git sync reliability
continuous-integration/drone/push Build is running
|
2022-01-22 07:51:02 +01:00 |
|
|
01b05aaed0
|
Implement label only flag
continuous-integration/drone/push Build is passing
|
2022-01-21 13:26:52 +01:00 |
|
|
252ff33b83
|
sync: Allow Markdown in flag help
|
2022-01-21 09:00:22 +01:00 |
|
|
5a79343af8
|
Implement sort_regexp_validator_groups
|
2022-01-21 08:44:51 +01:00 |
|
|
40a9078b70
|
sync: Handle title.txt in exercice dir
|
2022-01-21 08:02:23 +01:00 |
|
|
2645109839
|
admin: Display commit ID in admin interface
|
2022-01-21 08:02:23 +01:00 |
|
|
f8001653cd
|
sync: Parse resolution.md
|
2021-12-11 11:20:44 +01:00 |
|
|
0cc72712a4
|
Trim flags to avoid mistakes due to empty lines or espaces...
|
2021-12-11 11:20:44 +01:00 |
|
|
e6d8f2db1b
|
sync: Try to improve git-lfs support
|
2021-12-11 11:20:44 +01:00 |
|
|
c7569b5e54
|
Use pointer receiver more offen
|
2021-12-11 11:20:44 +01:00 |
|
|
8a6d480d17
|
sync: Make value lowercase if flag is not case sensitive
|
2021-12-11 02:02:06 +01:00 |
|
|
57d351c6c1
|
sync: Allow free hint
|
2021-12-11 02:02:06 +01:00 |
|
|
43be59b97d
|
admin: Create a GitImporter based on git binaries
|
2021-12-11 02:02:06 +01:00 |
|
|
9fe1374a77
|
sync: Try to use a ssh key if no ssh-agent configured
|
2021-12-11 02:02:06 +01:00 |
|
|
724b00b825
|
repochecker: Enforce archive types
|
2021-12-11 02:02:06 +01:00 |
|
|
49664c3dfe
|
Implement radio flag type
|
2021-12-11 02:02:06 +01:00 |
|
|
61fccca070
|
Implement unit property for flags
|
2021-12-11 02:02:06 +01:00 |
|
|
c3742ade4e
|
Implement number flags
|
2021-12-11 02:02:06 +01:00 |
|
|
495b08463f
|
sync: Check that UCQ value is not 'true' nor 'false'
|
2021-11-14 17:30:29 +01:00 |
|
|
89ca192890
|
sync: Add Git Importer
|
2021-11-14 17:30:29 +01:00 |
|
|
aebfb7bf96
|
sync: Add Init and Sync functions
Init initializes the directory/repository before the first use.
Sync is called to unsure the directory is up-to-date.
|
2021-11-14 17:30:29 +01:00 |
|
|
74d77dce9f
|
sync: Add partner's info
|
2021-09-08 02:07:37 +02:00 |
|
|
6223d2be36
|
sync: Also import hints during speed sync
|
2021-08-31 19:34:47 +02:00 |
|
|
74e8c3801a
|
fic: Add Order, Help and Type values in struct
|
2021-08-30 18:33:14 +02:00 |
|
|
867e9bb345
|
sync: Fix a div by 0 when no exercice detected in theme
|
2021-08-30 18:31:32 +02:00 |
|
|
7e9c2ccbe9
|
sync: Ignore some hidden files/dirs
continuous-integration/drone/push Build is passing
|
2021-07-30 11:32:23 +02:00 |
|
|
57fe1a7517
|
sync: Ignore exercice directories not containing at least - sep
continuous-integration/drone/push Build was killed
|
2021-05-14 01:25:08 +02:00 |
|
|
8b261011b6
|
repochecker: new option avoiding failure if resolution.mp4 missing
|
2021-05-14 01:14:30 +02:00 |
|
|
9fa89e0793
|
repochecker: fix file concatenation
|
2021-05-14 00:42:40 +02:00 |
|
|
9dc1f401b7
|
Use go modules
|
2021-05-14 00:42:40 +02:00 |
|
|
8e8fa7c61c
|
sync: use Separator attribute
continuous-integration/drone/push Build is passing
|
2020-12-11 21:03:12 +01:00 |
|
|
a0155c6deb
|
Replace old Help term by Placeholder
continuous-integration/drone/push Build is passing
|
2020-09-07 19:34:10 +02:00 |
|
|
adb424ea03
|
Use fmt.Errorf
|
2020-04-15 07:39:38 +02:00 |
|
|
23b6b2b005
|
admin: handle case insensitive ucq
|
2020-01-30 18:55:56 +01:00 |
|
|
0bc42282aa
|
frontend: resize heading pictures as thumb file
|
2020-01-30 18:55:56 +01:00 |
|
|
7bec409ab8
|
sync: fix hint dependancies error not reported
|
2020-01-30 18:55:56 +01:00 |
|
|
823328ead2
|
sync: fix file merging when using symlinks
|
2020-01-29 16:02:30 +01:00 |
|
|
a4c87b92a5
|
admin: introducing speedy deep sync and themed deep sync
|
2020-01-23 18:26:30 +01:00 |
|
|
f7762c0828
|
sync: don't try to import part of splitted files, just import the whole file
|
2020-01-23 18:26:30 +01:00 |
|
|
2bae30a841
|
admin/api: new route to list remote files and their properties
|
2020-01-23 18:26:30 +01:00 |
|
|
4f6480d7f8
|
sync: add some precision around Empty flags detection
|
2020-01-23 18:26:30 +01:00 |
|
|
769158a9d7
|
repochecker: add new option -skipfiledigests to speed up the checks and avoid downloading lots of content
|
2020-01-23 18:26:30 +01:00 |
|
|
aee3500fdf
|
sync: avoid depending on database when importing files
|
2020-01-23 18:26:30 +01:00 |
|
|
aba311aebd
|
sync: detect bad label wording
|
2020-01-23 18:26:30 +01:00 |
|
|
47ba134b55
|
Implement flag type 'text': this is like keys, but on multiple lines
|
2020-01-23 18:26:30 +01:00 |
|
|
8f998485bb
|
sync: resize heading pictures
|
2020-01-23 18:26:30 +01:00 |
|
|
b4fa57f9c9
|
sync: introducing showlines property for vectors
It allows players to know in advance how many items the vector is composed.
|
2020-01-17 14:57:03 +01:00 |
|
|
f3a34c00db
|
sync: implement hint dependency on flags
|
2020-01-17 14:57:03 +01:00 |
|
|
9693940d8c
|
sync: add logs on stderr when doing deepsync
|
2020-01-17 14:57:03 +01:00 |
|
|
d97ecde3fb
|
sync: return binding between challenge.txt IDs and DB item
|
2020-01-17 14:57:03 +01:00 |
|
|
fbae34ee4f
|
sync: add error message when missing heading.jpg
|
2020-01-17 14:57:03 +01:00 |
|
|
26eab7ed67
|
sync: import heading.jpg only in Sync phase
|
2020-01-17 14:57:03 +01:00 |
|
|
6740256a32
|
sync: implement hint dependency on flags
|
2020-01-17 07:02:40 +01:00 |
|
|
97a3aa713f
|
sync: fix hash computation by factorizing
|
2019-11-25 14:52:19 +01:00 |
|
|
0766fbe480
|
sync: don't rely on map order to import flags
Sometimes, maps order doesn't match file order. Return flag ID as
list to keep the order.
|
2019-11-25 14:52:19 +01:00 |
|
|
f2fc142869
|
api: remote route takes advantage from builds functions
|
2019-11-25 14:52:19 +01:00 |
|
|
ca891cd9b2
|
sync: Fix non-import of MCQ during sync
|
2019-11-25 14:52:19 +01:00 |
|
|
6265f85149
|
sync: Implement vector flags
|
2019-11-25 14:52:19 +01:00 |
|
|
99fcc99e82
|
sync: turn IgnoreCase on by default with reverse field CaseSensitive
|
2019-11-25 14:52:19 +01:00 |
|
|
33f7d104e4
|
sync: MCQ justifications are given in the choice tag directly
|
2019-11-25 14:52:19 +01:00 |
|
|
d7f0425d8a
|
repochecker: Fix given URL to documentation
|
2019-11-25 14:52:19 +01:00 |
|
|
4e01377a29
|
sync: search theme's label in a title.txt file, fallback on dirname
|
2019-11-25 14:52:19 +01:00 |
|
|
8e618565ad
|
sync: Fix long running bug known as "why my fresh uploaded file is now empty again"
Thanks to Nicolas Ribeyrolle
|
2019-11-25 14:52:19 +01:00 |
|
|
c8ece39cb2
|
sync: alert about unknown keys in challenge.txt
|
2019-07-21 22:38:45 +02:00 |
|
|
32f1c86519
|
sync: ignore directory beginning with . (like .git)
|
2019-07-10 13:09:08 +02:00 |
|
|
eb95d861d3
|
sync: Extract function that import hints from importer
|
2019-07-10 13:09:08 +02:00 |
|
|
4039a394b5
|
sync: Extract function that import flags from importer
|
2019-07-10 13:09:08 +02:00 |
|
|
3f55845374
|
sync: Extract function that import files from importer
|
2019-07-06 04:08:29 +02:00 |
|
|
3f99771910
|
sync: Extract function that builds an exercice from importer
|
2019-07-06 03:28:44 +02:00 |
|
|
682598fdbb
|
sync: Extract function that builds a theme from importer
|
2019-07-06 03:28:44 +02:00 |
|
|
34d2054e04
|
sync: avoid useless line break at the end of markdown processing
|
2019-02-06 03:40:49 +01:00 |
|
|
58dbd9499b
|
sync: fix report display with some security headers
|
2019-01-22 08:49:44 +01:00 |
|
|
6042f9b477
|
sync: check video file size during import process
|
2019-01-21 09:58:36 +01:00 |
|
|
7227c7109e
|
admin: add a progression indicator for the deep synchronization
|
2019-01-21 09:58:36 +01:00 |
|
|
d9fb261232
|
sync: import files first during the full import, to permit file dependency to flag
|
2019-01-21 09:58:36 +01:00 |
|
|
4f98536f91
|
sync: import MCQ justification as Flag
|
2019-01-21 09:58:36 +01:00 |
|
|
07ec6cb613
|
sync: Use hint title if provided
|
2019-01-21 09:58:36 +01:00 |
|
|
2879b697c0
|
sync: fix ordered import
|
2019-01-21 09:58:36 +01:00 |
|
|
ff3dec059c
|
sync: Refactor exercice flags
|
2019-01-21 09:58:35 +01:00 |
|
|
a66d6885e7
|
Refactor flags
Both QCM and Key are Flag
|
2019-01-21 09:58:35 +01:00 |
|
|
25b23e7ae0
|
sync: fix message
|
2019-01-21 03:08:06 +01:00 |
|
|
ba9bf4ef45
|
sync: ignore bad named directory when looking for dependancies
|
2019-01-21 03:08:06 +01:00 |
|
|
0d8505131e
|
sync: automatically add before ponctuation
|
2019-01-21 03:08:06 +01:00 |
|
|
8c87451d80
|
sync: better trim authors lines
|
2019-01-21 03:08:06 +01:00 |
|
|
d89cd2f0ca
|
sync: Allow \r at EOL in DIGESTS
|
2019-01-21 03:08:05 +01:00 |
|
|
dc4a4925e3
|
sync: refactor exercice synchronization
|
2019-01-21 03:08:05 +01:00 |
|
|
7f2ae673d0
|
sync: try to remove old exercice without any player try
|
2019-01-21 03:08:04 +01:00 |
|
|
0e36a850cf
|
Array flags can be non-ordered
|
2019-01-21 03:08:04 +01:00 |
|
|
dbf1985d25
|
Implement flag arrays
|
2019-01-21 03:08:04 +01:00 |
|
|
deb12052b5
|
sync: include headline in exercice overview, as it is difficult to retrieve otherwise
|
2019-01-21 03:08:04 +01:00 |
|
|
476f0f553c
|
implement choices_cost
|
2019-01-21 03:08:04 +01:00 |
|
|
f9abdd23c6
|
Dependancy between flags
|
2019-01-21 03:08:04 +01:00 |
|
|
21697f01ca
|
New field for exercice to display a text after exercice validation
|
2019-01-21 03:08:04 +01:00 |
|
|
87471acf98
|
sync: import files in markdown, relative to theme/exercice dir
|
2019-01-21 03:08:04 +01:00 |
|
|
8c95782eff
|
Implement and display headlines in interface
|
2019-01-21 03:08:02 +01:00 |
|
|
abd7fc6bef
|
sync: randomize imports: themes order, MCQ and UCQ choices
|
2019-01-21 03:07:47 +01:00 |
|
|
c5b65289d3
|
Add new helper string related to justified MCQ flag
|
2019-01-21 03:07:47 +01:00 |
|
|
3a0c892148
|
sync: import heading theme image
|
2019-01-21 03:07:45 +01:00 |
|
|
d7553f0392
|
Handle justified MCQ in admin and sync part
|
2018-12-08 20:35:36 +01:00 |
|
|
488a032eba
|
Handle choices in UCQ (db, sync done)
|
2018-12-08 20:35:36 +01:00 |
|
|
f183985982
|
admin: Add exercice's tags: sync, api, interface done
|
2018-12-08 20:35:36 +01:00 |
|
|
ff56ec9fe3
|
libfic/flag: add validatorRegexp field
|
2018-12-08 20:35:32 +01:00 |
|
|
d21f3b0b83
|
Rename Exercice's Keys as Flags
|
2018-12-08 20:34:04 +01:00 |
|
|
f36e1c4e4d
|
Stores ignorecase property for flags
|
2018-12-08 20:33:39 +01:00 |
|
|
3146e75ead
|
sync: rehandle dependency, trivial processing
|
2018-12-08 20:32:36 +01:00 |
|
|
2a6fbd4e32
|
admin&sync: insert format helper in database
|
2018-12-08 20:32:33 +01:00 |
|
|
1e2a74f3ca
|
sync: add dependency on flag to download file
|
2018-12-08 03:23:08 +01:00 |
|
|
f9e1cf6691
|
sync: add a new section to allow locking file waiting flag validation
|
2018-12-08 03:23:08 +01:00 |
|
|
da2a88a3a6
|
sync: parse complex AUTHORS.txt as described in README
|
2018-12-08 03:23:08 +01:00 |
|
|
c33390fa80
|
sync: import texts as Markdown
|
2018-12-08 03:23:08 +01:00 |
|
|
be7a159815
|
sync: Perfers content from challenge.txt to import hints
|
2018-12-08 03:23:08 +01:00 |
|
|
9ab5738cff
|
admin/sync: theme's name is now part of the theme's dirname
|
2018-12-08 03:23:07 +01:00 |
|
|
66391baeef
|
sync: alert when imported file is empty
|
2018-12-08 03:23:07 +01:00 |
|
|
92ba880006
|
sync: save import_report into StaticDir
|
2018-12-08 03:23:07 +01:00 |
|
|
e6b1b932f4
|
sync: fix synchronized URLId
|
2018-12-08 03:23:07 +01:00 |
|
Thibaut
|
3b7d9a2a75
|
sync: handle new sync format: flags
|
2018-12-08 03:23:07 +01:00 |
|
Thibaut
|
af55c5af9f
|
sync: handle new sync format: extends challenge defines
|
2018-12-08 03:23:07 +01:00 |
|
Thibaut
|
d303ecfa38
|
sync: handle new sync format: filenames and locations
|
2018-06-22 20:34:35 +02:00 |
|
|
492ab72dcd
|
sync: read UTF8 string, don't expect sane encoding from imported files, just force it
|
2018-05-13 14:16:06 +02:00 |
|
|
e126743d69
|
sync: Update specifications
Add same constraint for hint files than files (need DIGESTS.txt).
Update flag_ucq usage (difference between value and label).
|
2018-05-13 14:16:06 +02:00 |
|
|
dcb67fba63
|
Docs, docs, docs!
|
2018-05-13 14:15:07 +02:00 |
|
|
0d125071ef
|
admin/sync: update README.md to introduce new syntax of the year
|
2018-05-11 15:03:10 +02:00 |
|
|
1a959862f1
|
admin/sync: fill README.md with synchronisation instructions for students
|
2018-05-11 15:03:10 +02:00 |
|
|
bcc598ebd5
|
Write docs!
|
2018-05-11 15:03:09 +02:00 |
|
|
62aea5413e
|
use more official blake2b checksum
|
2018-05-11 05:27:51 +02:00 |
|
|
0c540a39eb
|
frontend: beautiful URLs
|
2018-01-26 12:02:32 +01:00 |
|
|
ca41e4edee
|
admin/sync: defines.txt can also contains informations about hints
|
2018-01-18 12:08:12 +01:00 |
|
|
332aa90931
|
admin/sync: handle exercice gain from toml file: defines.txt
|
2018-01-18 12:08:12 +01:00 |
|
|
494ccb740b
|
admin/sync: tiny refactor
|
2018-01-18 12:08:12 +01:00 |
|
|
11d0fe8d1f
|
admin/sync: handle hint files download
|
2018-01-18 12:08:12 +01:00 |
|
|
6cc40be36a
|
admin/sync: rename Indice to Astuce
|
2018-01-18 12:08:12 +01:00 |
|
|
db9077a85c
|
admin/sync: add stat method to importer
|
2018-01-18 12:08:12 +01:00 |
|
|
57758cd018
|
admin/sync: avoid error when no depends.txt exists
|
2018-01-18 12:08:12 +01:00 |
|
|
24f527ab8a
|
admin/sync: includes mcq and ucq in full synchronization
|
2018-01-18 12:08:12 +01:00 |
|
|
935b1666ac
|
admin/sync: Add last sync date into full_import_report
|
2018-01-18 12:08:12 +01:00 |
|
|
809d166a2d
|
admin/sync: avoid false positive when no files are distributed
|
2018-01-18 12:08:12 +01:00 |
|
|
fc902e1063
|
admin/sync: import resolution movies
|
2018-01-18 12:08:12 +01:00 |
|
|
ea3f3b709d
|
admin/sync: import theme introductions
|
2018-01-18 12:08:10 +01:00 |
|
|
4052969304
|
libfic/mcq: remove Kind, as we can only handle checkbox; another kind of record should be created to handle select/radio
|
2018-01-17 18:52:46 +01:00 |
|
|
eee1558dd9
|
admin/sync: new error on flags import
|
2018-01-17 18:52:46 +01:00 |
|
|
6329f44d42
|
admin/sync: escape cloud URL
|
2018-01-17 18:52:46 +01:00 |
|
|
11c8a56f14
|
admin/sync: handle dependancy between exercices
|
2018-01-17 18:52:45 +01:00 |
|
|
838918da66
|
Exercice: add overview field
This field is use as a high level description of the exercice. It will be
displayed on the public interface only: not to players.
|
2018-01-17 18:52:45 +01:00 |
|