title | feature_text | feature_image | excerpt |
---|---|---|---|
## CDCS Training Material
"Collaboration and community are at the heart of what we do"
|
This page is set up to facilitate the use of the CDCS repositories. |
All the material that we have prepared for our Training Porgramme is hosted in our GitHub Repository. There are currently almost 80 repositories developped in the last 4 years. Each repository will contain a readme.md with instructions on their content and how to use them. You can search directly among the repositories using the Search tools at the bottom of this page. To facilitate self-learning we have also created a series of more self-contained tutorials that you can find below divided by topics.
- From SPSS to R. How to Make your Statistical Analysis Reproducible
- More to Come Soon
You can search the repositories either by topic or by title.
You can use the search functions below to filter the repositories based on the topics they cover. You can either type a topic or select one from the drop-down menu.
Use the search function below to filter based on the repository name.
{% include button.html text="Email Us" link="mailto:CDCS@ed.ac.uk" color="#f68140" %} {% include button.html text="On Twitter" link="https://twitter.com/EdCDCS" color="#0d94e7" %}
<script> const repos = {{ site.data.repos | jsonify }}; console.log('Fetched repositories:', repos); function createIndex(repos, field) { return lunr(function () { this.ref('name'); this.field('name'); this.field(field); repos.forEach(repo => { const data = { 'name': repo.name, 'id': repo.name }; data[field] = repo[field].join ? repo[field].join(' ') : repo[field]; this.add(data); }); }); } function populateTopicSelect(repos) { const topicSelect = document.getElementById('topic-select'); const uniqueTopics = new Set(); // Collect unique topics repos.forEach(repo => { repo.topics.forEach(topic => uniqueTopics.add(topic)); }); // Convert Set to array and sort alphabetically const sortedTopics = Array.from(uniqueTopics).sort(); console.log('Sorted topics:', sortedTopics); // Clear previous options topicSelect.innerHTML = '-- Select a Topic --'; // Add sorted topics to the dropdown sortedTopics.forEach(topic => { const option = document.createElement('option'); option.value = topic; option.textContent = topic; topicSelect.appendChild(option); }); } function searchRepos(query, index, repos, field, exactMatch = false) { const results = index.search(query); const repoList = document.getElementById('repo-list'); repoList.innerHTML = ''; results.forEach(result => { const repo = repos.find(r => r.name === result.ref); if (repo) { const fieldValue = repo[field]; const matchesExact = exactMatch ? fieldValue.includes(query) : true; if (!field || matchesExact) { const li = document.createElement('li'); li.innerHTML = `${repo.name}`; repoList.appendChild(li); } } }); if (results.length === 0 || repoList.innerHTML === '') { repoList.innerHTML = '