Skip to content

Commit 3491a58

Browse files
committed
add jekyll site
1 parent 043a794 commit 3491a58

File tree

20 files changed

+1247
-0
lines changed

20 files changed

+1247
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Deploy Jekyll site to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths: [ 'jekyll-site/**' ]
7+
pull_request:
8+
branches: [ main ]
9+
paths: [ 'jekyll-site/**' ]
10+
workflow_dispatch:
11+
12+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13+
permissions:
14+
contents: read
15+
pages: write
16+
id-token: write
17+
18+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20+
concurrency:
21+
group: "pages"
22+
cancel-in-progress: false
23+
24+
jobs:
25+
build:
26+
runs-on: ubuntu-latest
27+
steps:
28+
- name: Checkout
29+
uses: actions/checkout@v4
30+
31+
- name: Setup Ruby
32+
uses: ruby/setup-ruby@v1
33+
with:
34+
ruby-version: '3.1'
35+
bundler-cache: true
36+
working-directory: ./jekyll-site
37+
38+
- name: Setup Pages
39+
id: pages
40+
uses: actions/configure-pages@v3
41+
42+
- name: Build with Jekyll
43+
run: |
44+
cd jekyll-site
45+
bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
46+
env:
47+
JEKYLL_ENV: production
48+
49+
- name: Upload artifact
50+
uses: actions/upload-pages-artifact@v2
51+
with:
52+
path: ./jekyll-site/_site
53+
54+
# Deployment job
55+
deploy:
56+
environment:
57+
name: github-pages
58+
url: ${{ steps.deployment.outputs.page_url }}
59+
runs-on: ubuntu-latest
60+
needs: build
61+
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
62+
steps:
63+
- name: Deploy to GitHub Pages
64+
id: deployment
65+
uses: actions/deploy-pages@v2

jekyll-site/Gemfile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
source "https://rubygems.org"
2+
3+
# Jekyll and dependencies
4+
gem "jekyll", "~> 4.3.0"
5+
gem "webrick", "~> 1.8"
6+
7+
# Theme
8+
gem "just-the-docs", "~> 0.7.0"
9+
10+
# Plugins
11+
group :jekyll_plugins do
12+
gem "jekyll-feed", "~> 0.12"
13+
gem "jekyll-sitemap"
14+
gem "jekyll-seo-tag"
15+
gem "jekyll-remote-theme"
16+
end
17+
18+
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
19+
# and associated library.
20+
platforms :mingw, :x64_mingw, :mswin, :jruby do
21+
gem "tzinfo", ">= 1", "< 3"
22+
gem "tzinfo-data"
23+
end
24+
25+
# Performance-booster for watching directories on Windows
26+
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
27+
28+
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
29+
# do not have a Java counterpart.
30+
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]

jekyll-site/README.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# MIMIC Jekyll Website
2+
3+
This is the Jekyll version of the MIMIC website, built using the [Just the Docs](https://just-the-docs.github.io/just-the-docs/) theme.
4+
5+
## Local Development
6+
7+
### Prerequisites
8+
9+
- Ruby 3.1 or higher
10+
- Bundler gem
11+
12+
### Setup
13+
14+
1. Install dependencies:
15+
```bash
16+
cd jekyll-site
17+
bundle install
18+
```
19+
20+
2. Run the development server:
21+
```bash
22+
bundle exec jekyll serve
23+
```
24+
25+
3. Open your browser to `http://localhost:4000`
26+
27+
### Building for Production
28+
29+
```bash
30+
bundle exec jekyll build
31+
```
32+
33+
The built site will be in the `_site` directory.
34+
35+
## Site Structure
36+
37+
```
38+
jekyll-site/
39+
├── _config.yml # Jekyll configuration
40+
├── _includes/ # Reusable content snippets
41+
│ └── database/ # Database column definitions
42+
├── _docs/ # Main documentation
43+
├── _tutorials/ # Step-by-step guides
44+
├── _concepts/ # Conceptual explanations
45+
├── _faqs/ # Frequently asked questions
46+
├── assets/ # Images, CSS, JS
47+
└── index.md # Homepage
48+
```
49+
50+
## Key Features
51+
52+
### Collections
53+
- **docs**: Main documentation organized by MIMIC version and module
54+
- **tutorials**: Step-by-step guides for common tasks
55+
- **concepts**: Explanatory content about database design and analysis
56+
- **faqs**: Common questions and answers
57+
58+
### Includes System
59+
Reusable content snippets for database column definitions:
60+
```liquid
61+
{% include database/subject_id.md %}
62+
```
63+
64+
### Navigation
65+
Hierarchical navigation with automatic menu generation based on front matter:
66+
```yaml
67+
---
68+
title: "Page Title"
69+
parent: "Parent Page"
70+
nav_order: 1
71+
---
72+
```
73+
74+
## Content Guidelines
75+
76+
### Front Matter
77+
All pages should include appropriate front matter:
78+
79+
```yaml
80+
---
81+
title: "Page Title"
82+
layout: default
83+
parent: "Parent Page" # if applicable
84+
nav_order: 1 # for ordering in navigation
85+
permalink: /custom-url/ # if different from default
86+
description: "Page description for SEO"
87+
---
88+
```
89+
90+
### Using Includes
91+
For database column definitions, use the includes system:
92+
93+
```liquid
94+
{% include database/subject_id.md %}
95+
{% include database/hadm_id.md %}
96+
```
97+
98+
### Code Blocks
99+
Use fenced code blocks with language specification:
100+
101+
```sql
102+
SELECT subject_id, COUNT(*)
103+
FROM patients
104+
GROUP BY subject_id;
105+
```
106+
107+
### Callouts
108+
Use Just the Docs callouts for important information:
109+
110+
```markdown
111+
{: .note }
112+
> This is a note callout.
113+
114+
{: .important }
115+
> This is an important callout.
116+
117+
{: .highlight }
118+
> This is a highlight callout.
119+
```
120+
121+
## Deployment
122+
123+
The site is automatically deployed via GitHub Actions when changes are pushed to the main branch. See `.github/workflows/deploy-jekyll.yml` for the deployment configuration.
124+
125+
## Theme Customization
126+
127+
The site uses the Just the Docs theme. For customization options, see the [theme documentation](https://just-the-docs.github.io/just-the-docs/).
128+
129+
## Migration from Hugo
130+
131+
This Jekyll site replaces the previous Hugo-based website. Key differences:
132+
133+
- **Includes**: `{{% include "file.md" %}}``{% include file.md %}`
134+
- **Front matter**: TOML → YAML
135+
- **Navigation**: Automatic based on front matter
136+
- **Collections**: Organized content types
137+
138+
## Contributing
139+
140+
1. Make changes to content files
141+
2. Test locally with `bundle exec jekyll serve`
142+
3. Submit pull request
143+
4. Changes will be automatically deployed after merge

jekyll-site/_concepts/index.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
title: "Concepts"
3+
layout: default
4+
nav_order: 4
5+
has_children: true
6+
permalink: /concepts/
7+
---
8+
9+
# MIMIC Concepts
10+
11+
Understanding the fundamental concepts behind MIMIC data organization, design principles, and analysis approaches.
12+
13+
## Database Design Concepts
14+
15+
Learn about the underlying structure:
16+
17+
- **[Schema Overview](/concepts/schema-overview/)** - How MIMIC is organized
18+
- **[Data Provenance](/concepts/data-provenance/)** - Understanding data sources
19+
- **[Identifier Systems](/concepts/identifiers/)** - Patient, admission, and stay IDs
20+
- **[Temporal Organization](/concepts/time-concepts/)** - How time is handled
21+
22+
## Data Integration Concepts
23+
24+
Connect data across the database:
25+
26+
- **[Cross-Module Linking](/concepts/cross-module-linking/)** - Join data from different modules
27+
- **[Patient Trajectories](/concepts/patient-trajectories/)** - Follow patients through care
28+
- **[Temporal Alignment](/concepts/temporal-alignment/)** - Synchronize different data streams
29+
30+
## Data Quality Concepts
31+
32+
Understand data characteristics:
33+
34+
- **[Missingness Patterns](/concepts/missingness/)** - Understanding missing data
35+
- **[Data Validation](/concepts/validation/)** - Quality checks and validation
36+
- **[Known Limitations](/concepts/limitations/)** - Understanding data constraints
37+
38+
## Privacy and Ethics
39+
40+
Important considerations for research:
41+
42+
- **[De-identification Process](/concepts/deidentification/)** - How privacy is protected
43+
- **[Data Use Agreements](/concepts/data-agreements/)** - Legal and ethical requirements
44+
- **[Responsible Use](/concepts/responsible-use/)** - Best practices for research
45+
46+
## Analysis Concepts
47+
48+
Fundamental analysis approaches:
49+
50+
- **[Cohort Definition](/concepts/cohorts/)** - Defining patient populations
51+
- **[Outcome Measurement](/concepts/outcomes/)** - Measuring clinical outcomes
52+
- **[Statistical Considerations](/concepts/statistics/)** - Important statistical concepts
53+
- **[Reproducible Research](/concepts/reproducibility/)** - Ensuring reproducible results
54+
55+
---
56+
57+
{: .highlight }
58+
> These concepts provide the foundation for effective MIMIC research. Understanding these principles will help you design better studies and avoid common pitfalls.

0 commit comments

Comments
 (0)