Comments (4)
to be clear i'm making use of that great gitignore and create readme function in the scripts. i just want to have them be flexible functions rather than as written where they manually add things within the function.
https://github.com/earthlab/autograding-notebooks/blob/master/scripts/make-template-repo.py#L14
https://github.com/earthlab/autograding-notebooks/blob/master/scripts/make-template-repo.py#L20
those functions above are just not generic enough but they are what we want. i want them to populate from the config file but they can be written generically to grab a list of things and write them to the file!
from abc-classroom.
Current abc-classroom setup is a single config file for the course. It sounds like we want per-assignment configuration. Do you want to do that within a single config file or have separate config files for each assignment? If the former, it could look something like this (where README.md : student_README.md
are the target and source for extra files to be copied to the template):
extra_files:
README.md: student_README.md
assignment_1:
extra_files:
README.md: assignment1_README.md
So any per-assignment settings would override the course-level settings.
from abc-classroom.
Abc-classroom is setup with a single config for the course, correct.
We still want that. Abc-classroom then has assignment yaml list elements as you have above.
I was thinking that the starting functionality would be focused on just the basic files we want in each repo - not on customizing per assignment (with the exception of the assignment name) for the readme and gitignore. Let's consider doing as follows:
- readme:
Abc-classroom creates a default readme for each assignment that has the assignment name in it, etc. if readme is in the extra files, it gets created. If there is a paragraph of text below the readme, abc-classroom adds that to the readme too! The readme will be customized with each assignment name ideally when the assignment directory / repo is created. does that make sense? so we are making a single template that is used over and over but just customized with the assignment name as the# header
of the readme.
So the readme for assignment-1 would look like this:
Assignment 1: Course Name Here
optional text here as prescribed below in the yaml under extra_files
extra_files:
README.md:
- text here that might be populated in the default readme file.
gitignore:
- ds_Store
- some-other-file.py
assignment_1:
# I think this could be future functionality. the option to add custom files
# The challenge with this is we have to decide where the user will put them and i think that is complicated... so i'd rather hold off on this functionality for now and just start with the readme and .gitignore which we know we want for each repo!
extra_files:
README.md: assignment1_README.md
does that make sense? so i'm opting for a simple first approach. not customizing in the yaml for each assignment - YET just one yaml for all assignments. then we can add per assignment readme customization in the future if the functions are written generically enough.
IMPORTANT:
If there is no readme or gitignore under extra_files, then i'd like it to NOT create those files.
Future Enhancement Customize readme text for each assignment
TBD....
from abc-classroom.
this as well. can we close this now @kcranston
from abc-classroom.
Related Issues (20)
- implement logging
- Package organization HOT 1
- Organization of github and git functions in abc classroom HOT 4
- Test suites and organization HOT 1
- Clean up old / deprecated code HOT 1
- potential bug? - github.remote_repo_exists returns false with bad token even if repo exists. HOT 2
- break up get_access_token into two helpers? HOT 2
- set_github_auth will fail if no file is found HOT 2
- Docstring Updates
- Function that may not get used anywhere in abc classroom HOT 2
- function init_and_commit and custom commit messages HOT 7
- Struggling to trigger FileNotFound Error in get_github_auth() HOT 1
- Better error handling for auth setup
- 403 You need admin access to the organization before adding a repository to it. HOT 7
- Do we want to keep python 3.6 support & docs build HOT 2
- What's next for abc-classroom - test suite
- abc-init fails getting access token HOT 16
- No support for multiple ssh users
- Copy an entire directory tree from extra_files
- Misleading setup documentation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abc-classroom.