diff --git a/assets/sass/style.scss b/assets/sass/style.scss index 700e640..9ec4204 100644 --- a/assets/sass/style.scss +++ b/assets/sass/style.scss @@ -217,7 +217,23 @@ section.timeline { a, a:visited, a:active { color: #FFF; } + code { + background: lighten(#000, 20%); + border: 1px solid lighten(#000, 50%); + padding: 1px 3px; + font-size: 80%; + font-family: monospace; + } } + img { + dispay: block; + max-width: 100%; + } + &.release p { + font-size: 80%; + padding: 10px 20px; + } + blockquote { font-style: italic; padding-right: 30px; diff --git a/content/timeline/00_template.md b/content/timeline/00_template.md index 821dc29..a23a6c4 100644 --- a/content/timeline/00_template.md +++ b/content/timeline/00_template.md @@ -14,4 +14,4 @@ params: --- - + diff --git a/content/timeline/2005-07-13-first-commit.md b/content/timeline/2005-07-13-first-commit.md index e5ad3c3..6cfeed3 100644 --- a/content/timeline/2005-07-13-first-commit.md +++ b/content/timeline/2005-07-13-first-commit.md @@ -9,4 +9,4 @@ params: --- -Just before lunch on July 13, 2005, Jacob Kaplan-Moss made [the first commit](https://github.com/django/django/commit/d6ded0e91bcdd2a8f7a221f6a5552a33fe545359) to the public repository that would become Django. This was followed by a series of commits by Adrian Holovaty importing from the private repository where Django had lived up to that point. +Just before lunch on July 13, 2005, Jacob Kaplan-Moss makes [the first commit](https://github.com/django/django/commit/d6ded0e91bcdd2a8f7a221f6a5552a33fe545359) to the public repository that would become Django. This is followed by a series of commits by Adrian Holovaty importing from the private repository where Django had lived up to that point. diff --git a/content/timeline/2005-11-16-first-release.md b/content/timeline/2005-11-16-first-pypi-release.md similarity index 100% rename from content/timeline/2005-11-16-first-release.md rename to content/timeline/2005-11-16-first-pypi-release.md diff --git a/content/timeline/2008-09-04-django-1-released.md b/content/timeline/2008-09-04-django-1-released.md new file mode 100644 index 0000000..5f91c15 --- /dev/null +++ b/content/timeline/2008-09-04-django-1-released.md @@ -0,0 +1,15 @@ +--- +title: "Django version 1.0" +date: "2017-12-02" +draft: false + +params: + timeline_date: 2008-09-04 + timeline_type: release + timeline_release: "1.0" + +--- + +Django version 1.0 is released and Django's Documentation (docs.djangoprojects.com) is officially launched. + +> Since Django 0.96, we’ve made over 4,000 code commits, fixed more than 2,000 bugs, and edited, added, or removed around 350,000 lines of code. We’ve also added 40,000 lines of new documentation, and greatly improved what was already there. diff --git a/content/timeline/2008-django-pony/_index.md b/content/timeline/2008-django-pony/_index.md new file mode 100644 index 0000000..7ee7a82 --- /dev/null +++ b/content/timeline/2008-django-pony/_index.md @@ -0,0 +1,21 @@ +--- +title: "Django Pony is born" +date: "2025-07-03" +draft: false + +params: + timeline_date: 2008-09-08 + timeline_type: milestone + +--- + +In a keynote called "Why I Hate Django", a joke is made that Django needs a mascot with magical powers. Bryan Veloso comes up with [the first design](https://avalonstar.com/blog/2008/the-web-framework-for-ponies/), based on a design from iStockPhoto. A tagline "The web framework for ponies with magical powers" and [djangopony.com](https://djangopony.com/) is launched. + +{{< imgProc +img="django_pony_bryan_veloso.jpg" +command="Fit" +options="800x800" +alt="Django Pony wallpaper by Bryan Veloso and iStockPhoto" +class="photo" +>}} + diff --git a/content/timeline/2008-django-pony/django_pony_bryan_veloso.jpg b/content/timeline/2008-django-pony/django_pony_bryan_veloso.jpg new file mode 100644 index 0000000..b4a9ac8 Binary files /dev/null and b/content/timeline/2008-django-pony/django_pony_bryan_veloso.jpg differ diff --git a/content/timeline/2008-djangocon-us.md b/content/timeline/2008-djangocon-us.md new file mode 100644 index 0000000..59a4464 --- /dev/null +++ b/content/timeline/2008-djangocon-us.md @@ -0,0 +1,12 @@ +--- +title: "First DjangoCon!" +date: "2025-07-03" +draft: false + +params: + timeline_date: 2008-09-06 + timeline_type: milestone + +--- + +[The first DjangoCon is held](https://www.djangoproject.com/weblog/2008/jul/13/djangocon/), a 2-day DjangoCon US in Mountain View. The event has 200 attendees and marks the launch of Django 1.0. diff --git a/content/timeline/2009-07-29-django-1.1.md b/content/timeline/2009-07-29-django-1.1.md new file mode 100644 index 0000000..1a5d73c --- /dev/null +++ b/content/timeline/2009-07-29-django-1.1.md @@ -0,0 +1,13 @@ +--- +title: "Django version 1.1" +date: "2017-12-02" +draft: false + +params: + timeline_date: 2009-07-29 + timeline_type: release + timeline_release: "1.1" + +--- + +Django 1.1 is released, including new features like the `TransactionTestCase` (wrapping test cases in database transactions), aggregate support in the ORM, `F()` expressions, proxy models, admin actions, and many more things that have since then become classics. diff --git a/content/timeline/2010-05-17-first-pypi-release.md b/content/timeline/2010-05-17-first-pypi-release.md index d4c672a..20aac5e 100644 --- a/content/timeline/2010-05-17-first-pypi-release.md +++ b/content/timeline/2010-05-17-first-pypi-release.md @@ -5,7 +5,8 @@ draft: false params: timeline_date: 2010-05-17 - timeline_type: milestone + timeline_type: release + timeline_release: "1.0.1" --- diff --git a/content/timeline/2015-07-13-10th-birthday.md b/content/timeline/2015-07-13-10th-birthday.md index c7f0eb1..a3bc4d7 100644 --- a/content/timeline/2015-07-13-10th-birthday.md +++ b/content/timeline/2015-07-13-10th-birthday.md @@ -10,6 +10,6 @@ params: --- Django has its first big birthday celebration. [A blog post](https://www.djangoproject.com/weblog/2015/jul/13/happy-10th-birthday-django/ -) was written and a Django Birthday conference was held in the US. Also this series of video greetings was sent from community all-over the world: +) is written and a Django Birthday conference is held in the US. Also this series of video greetings is sent from community all-over the world: diff --git a/content/timeline/2017-12-02-django-2-released.md b/content/timeline/2017-12-02-django-2-released.md new file mode 100644 index 0000000..c3b653b --- /dev/null +++ b/content/timeline/2017-12-02-django-2-released.md @@ -0,0 +1,13 @@ +--- +title: "Django version 2.0" +date: "2017-12-02" +draft: false + +params: + timeline_date: 2017-12-02 + timeline_type: release + timeline_release: "2.0" + +--- + +Django version 2.0 is released, highlights include: New default URL patterns, mobile-friendly admin, Window expressions for the ORM. diff --git a/content/timeline/2019-12-02-django-3-released.md b/content/timeline/2019-12-02-django-3-released.md new file mode 100644 index 0000000..132dcff --- /dev/null +++ b/content/timeline/2019-12-02-django-3-released.md @@ -0,0 +1,13 @@ +--- +title: "Django version 3.0" +date: "2019-12-02" +draft: false + +params: + timeline_date: 2019-12-02 + timeline_type: release + timeline_release: "3.0" + +--- + +Django version 3.0 is released, highlight include MariaDB support and ASGI support. diff --git a/content/timeline/2021-12-07-django-4-released.md b/content/timeline/2021-12-07-django-4-released.md new file mode 100644 index 0000000..e71e8e4 --- /dev/null +++ b/content/timeline/2021-12-07-django-4-released.md @@ -0,0 +1,13 @@ +--- +title: "Django version 4.0" +date: "2021-12-07" +draft: false + +params: + timeline_date: 2021-12-07 + timeline_type: release + timeline_release: "4.0" + +--- + +Django version 4.0 is released, highlights include: Template-based form rendering, the pytz dependency is removed, `Meta.constraints` introduces functional expressions, a new Redis cache backend is added. diff --git a/content/timeline/2023-12-04-django-5-released.md b/content/timeline/2023-12-04-django-5-released.md new file mode 100644 index 0000000..56da884 --- /dev/null +++ b/content/timeline/2023-12-04-django-5-released.md @@ -0,0 +1,13 @@ +--- +title: "Django version 5.0" +date: "2023-12-04" +draft: false + +params: + timeline_date: 2023-12-04 + timeline_type: release + timeline_release: "5.0" + +--- + +Django version 5.0 is released, highlights include: db-computed field defaults, `GeneratedField` is added, and a simplified `.as_field_group` form field template rendering. diff --git a/hugo.yaml b/hugo.yaml index 25108a0..ed61869 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -45,6 +45,9 @@ languages: - name: "Add event" url: "/add-event/" weight: 2 + - name: "Timeline" + url: "/timeline/" + weight: 3 # - name: "Gifts" # url: "/gifts/" # weight: 3 diff --git a/themes/django20/layouts/shortcodes/imgProc.html b/themes/django20/layouts/shortcodes/imgProc.html new file mode 100644 index 0000000..7043391 --- /dev/null +++ b/themes/django20/layouts/shortcodes/imgProc.html @@ -0,0 +1,22 @@ +{{- $img := .Get "img" -}} +{{- $command := .Get "command" -}} +{{- $options := .Get "options" -}} +{{- $alt := .Get "alt" -}} +{{- $class := .Get "class" -}} +{{- $style := .Get "style" -}} + +{{- $original := .Page.Resources.GetMatch (printf "*%s*" $img) -}} +{{- $new := "" -}} + +{{- if eq $command "Fit"}} + {{- $new = $original.Fit $options -}} +{{- else if eq $command "Resize"}} + {{- $new = $original.Resize $options -}} +{{- else if eq $command "Fill"}} + {{- $new = $original.Fill $options -}} +{{- else -}} + {{- errorf "Invalid image processing command: Must be one of Fit, Fill or Resize."}} +{{- end -}} + +{{ $alt }} + diff --git a/themes/django20/layouts/timeline/list.html b/themes/django20/layouts/timeline/list.html index 0603a9a..f417903 100644 --- a/themes/django20/layouts/timeline/list.html +++ b/themes/django20/layouts/timeline/list.html @@ -11,8 +11,9 @@