Skip to content

Commit

Permalink
Trailing slash redirects & permalinks
Browse files Browse the repository at this point in the history
  • Loading branch information
Sean Mitchell committed Dec 18, 2021
1 parent f295a0d commit 43c237b
Show file tree
Hide file tree
Showing 14 changed files with 127 additions and 88 deletions.
2 changes: 2 additions & 0 deletions _pages/community.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
title: Community
description:
permalink: /community
redirect_from:
- /community/
---

<div class="heading common-padding--bottom common-padding--top-small">
Expand Down
3 changes: 3 additions & 0 deletions _pages/conduct.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Code of Conduct
description:
permalink: /conduct
redirect_from:
- /conduct/
---

<div class="heading common-padding--bottom common-padding--top-small">
Expand Down
3 changes: 3 additions & 0 deletions _pages/features.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Features
description:
permalink: /features
redirect_from:
- /features/
---

<div class="heading common-padding--bottom common-padding--top-small">
Expand Down
5 changes: 4 additions & 1 deletion _pages/maintenance.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Maintenance
title: Maintenance policy
description:
permalink: /maintenance
redirect_from:
- /maintenance/
---

<div class="heading common-padding--bottom common-padding--top-small">
Expand Down
3 changes: 3 additions & 0 deletions _pages/trademarks.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Trademarks policy
description:
permalink: /trademarks
redirect_from:
- /trademarks/
---

<div class="heading common-padding--bottom-small common-padding--top">
Expand Down
1 change: 1 addition & 0 deletions blog/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: Blog
description:
permalink: /blog
---

<div class="heading common-padding--bottom-small common-padding--top-small">
Expand Down
3 changes: 3 additions & 0 deletions category/news.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: News
description:
category: news
permalink: /category/news
redirect_from:
- /category/news/
---

<div class="heading common-padding--bottom-small common-padding--top-small">
Expand Down
3 changes: 3 additions & 0 deletions category/releases.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: Releases
description:
category: releases
permalink: /category/releases
redirect_from:
- /category/releases/
---

<div class="heading common-padding--bottom-small common-padding--top-small">
Expand Down
25 changes: 14 additions & 11 deletions doctrine/es.html

Large diffs are not rendered by default.

147 changes: 75 additions & 72 deletions doctrine/fr.html

Large diffs are not rendered by default.

9 changes: 6 additions & 3 deletions doctrine/index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: The Rails Doctrine
permalink: /doctrine
redirect_from:
- /doctrine/
---

<div class="heading common-padding--bottom common-padding--top common-shape--bottom-grey-down-left">
Expand Down Expand Up @@ -60,7 +63,7 @@ <h1>The Rails Doctrine.</h1>
<div class="text__body">
<div class="text__content common-content">
<h3>Optimize for programmer happiness</h3>
<p>There would be no Rails without Ruby, so it's only fitting that the first doctrinal pillar is lifted straight from the core motivation for creating Ruby.</p>
<p>There would be no Rails without Ruby, so its only fitting that the first doctrinal pillar is lifted straight from the core motivation for creating Ruby.</p>
<p>Ruby’s original heresy was indeed to place the happiness of the programmer on a pedestal. Above many other competing and valid concerns that had driven programming languages and ecosystems before it.</p>
<p>Where Python might boast that there’s “one and preferably only one way to do something”, Ruby relished expressiveness and subtlety. Where Java championed forcefully protecting programmers from themselves, Ruby included a set of sharp knives in the welcome kit. Where Smalltalk drilled a purity of message passing, Ruby accumulated keywords and constructs with an almost gluttonous appetite.</p>
<p>Ruby was different because it valued different things. And most of those things were in service of this yearning for programmer happiness. A pursuit that brought it at odds with not only most other programming environments, but also the mainstream perception of what a programmer was and how they were supposed to act.</p>
Expand Down Expand Up @@ -101,7 +104,7 @@ <h3>Optimize for programmer happiness</h3>
<div class="text__content common-content">
<h3>Convention over Configuration</h3>
<p>One of the early productivity mottos of Rails went: “You’re not a beautiful and unique snowflake”. It postulated that by giving up vain individuality, you can leapfrog the toils of mundane decisions, and make faster progress in areas that really matter.</p>
<p>Who cares what format your database primary keys are described by? Does it really matter whether it's “id”, “postId”, “posts_id”, or “pid”? Is this a decision that’s worthy of recurrent deliberation? No.</p>
<p>Who cares what format your database primary keys are described by? Does it really matter whether its “id”, “postId”, “posts_id”, or “pid”? Is this a decision that’s worthy of recurrent deliberation? No.</p>
<p>Part of the Rails’ mission is to swing its machete at the thick, and ever growing, jungle of recurring decisions that face developers creating information systems for the web. There are thousands of such decisions that just need to be made once, and if someone else can do it for you, all the better.</p>
<p>Not only does the transfer of configuration to convention free us from deliberation, it also provides a lush field to grow deeper abstractions. If we can depend on a Person class mapping to people table, we can use that same inflection to map an association declared as has_many :people to look for a Person class. The power of good conventions is that they pay dividends across a wide spectrum of use.</p>
<p>But beyond the productivity gains for experts, conventions also lower the barriers of entry for beginners. There are so many conventions in Rails that a beginner doesn’t even need to know about, but can just benefit from in ignorance. It’s possible to create great applications without knowing why everything is the way it is.</p>
Expand Down Expand Up @@ -258,7 +261,7 @@ <h3>Progress over stability</h3>
<p>Those are the hard bargains we have to continue to make. Is Rails going to be better off in five years for the changes we make today? Is Rails going to be better off for adopting another problem domain, like job queuing or WebSockets, in years to come? If yes, then let’s suck it up and do the work.</p>
<p>This work isn’t just something that needs to happen in Rails itself, but also in the larger Ruby community. Rails should be at the frontier of helping Ruby’s progress by driving its constituents to adopt later versions faster. </p>
<p>We’ve done very well at this so far. From when I started, we’ve moved through Ruby 1.6, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5 and now onto 2.6. Lots of major changes along the way, but Rails was there to have Ruby’s back, and help everyone get with the program faster. That’s in part the privilege and obligation Rails serves as the major popularizer of Ruby.</p>
<p>This too is true for the auxiliary tools of the chain. Bundler was once a controversial idea, but through Rails' insistence that it be a cornerstone of a shared future, it’s today just taken for granted. The same is true for things like the asset pipeline and Spring, the persistent command process. All three of these went through, or are still going through, growing pains, but the obviousness of their value in the long term helped us push through that.</p>
<p>This too is true for the auxiliary tools of the chain. Bundler was once a controversial idea, but through Rails insistence that it be a cornerstone of a shared future, it’s today just taken for granted. The same is true for things like the asset pipeline and Spring, the persistent command process. All three of these went through, or are still going through, growing pains, but the obviousness of their value in the long term helped us push through that.</p>
<p>Progress is ultimately mostly about people and their willingness to push change. This is why there are no lifetime seats in groups like <a href="/community#core">Rails Core</a> or <a href="/community#committers">Rails Committers</a>. Both groups are for those who are actively working on making progress for the framework. For some, their stake in such progress may last just a few years, and we will forever be grateful for their service, and for others it may last decades.</p>
<p>Likewise, it’s why it’s so important for us to continue to welcome and encourage new members of the community. We need fresh blood and fresh ideas to make better progress.</p>
</div>
Expand Down
5 changes: 4 additions & 1 deletion doctrine/ru.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Rails Соглашение
permalink: /doctrine/ru
redirect_from:
- /doctrine/ru/
---

<div class="heading common-padding--bottom common-padding--top common-shape--bottom-grey-down-left">
Expand Down Expand Up @@ -67,7 +70,7 @@ <h3 id="optimize-for-programmer-happiness">Оптимизация на радо
<p>Ruby другой, потому что ставит в приоритеты другие идеи. И одна из таких идей — приносить программисту счастье при разработке. Гонка, которая выделила его по сравнению с другими средами программирования, а так же восприятием того, кто такой программист, и чем он должен заниматься.</p>
<p>Ruby был разработан не только для того чтобы осознать, но и вместить в себя всю палитру чувств программиста. Будь то неадекватность, фантазии или радость. Matz обеспечил реализацию идеи поразительной сложности, суть которой в том, что среда разработки должна быть помощником программисту. Ruby это один из тех случаев где, то что кажется простым и понятным на первым взгляд является акробатическим трюком с завязанными за спиной руками. За эти решения приходится платить (спросите об этом команду JRuby, которые пытались сделать реверс инжиринг всего этого), именно поэтому они так сильно заслуживают уважения.</p>
<p>Это было небольшое посвящение в мир альтернативного видения о сути программирования и роли программистов, которые далеки от любви к Ruby. Ruby — это не только простота использования, не только эстетичность блоков, без всего этого не было бы ни одного технического достижения. Это было новое видение. Некая другая культура, место для маргиналов с точки зрения всего профессионального сообщества.</p>
<p>Я описал бы погружение в Ruby как находку волшебной перчатки, которая идеально заполнила мое сознание. Лучшее что я мог бы себе представить. Событие, которое стало моим личным переходом от парадигмы ‘создавать программы потому что я в них нуждаюсь’ к ‘созданию программ с любовью и самовыражению через них’. Для тех, кто знаком с работой <a href="http://www.amazon.com/Flow-Harper-Perennial-Modern-Classics-ebook/dp/B000W94FE6/" target="_blank">Mihaly Csikszentmihalyi</a>, тем трудно переоценить его влияние на Ruby сообщество.</p>
<p>Я описал бы погружение в Ruby как находку волшебной перчатки, которая идеально заполнила мое сознание. Лучшее что я мог бы себе представить. Событие, которое стало моим личным переходом от парадигмы ‘создавать программы потому что я в них нуждаюсь’ к ‘созданию программ с любовью и самовыражению через них’. Для тех, кто знаком с работой <a href="http://www.amazon.com/Flow-Harper-Perennial-Modern-Classics-ebook/dp/B000W94FE6/">Mihaly Csikszentmihalyi</a>, тем трудно переоценить его влияние на Ruby сообщество.</p>
<p>Я не преувеличиваю, когда говорю, что Ruby изменил меня и мою жизнь. Для меня это было неким откровением. Он проник в мое сознание и призвал помочь меня выполнять миссионерскую миссию в качестве услуги за творение Matz. С целью помочь распространить его творение и рассказать о его преимуществах.</p>
<p>Сейчас я могу представить себе как большинство из вас недоверительно качают головой. Я нисколько не виню вас. Как я описал выше, раньше я жил внутри концепции, что программирование — это просто инструмент и будь на вашем месте, то тоже отнесся бы к этому с недоверием и засмеялся с вершины какого нибудь культового языка. Но для этого я должен быть честным с самим собой и окружающими, что отталкивает некоторых или даже большинство.</p>
<p>В любом случае, вопрос в том, что такое Ruby on Rails, и как он, руководствуясь своими принципами и идеями продолжает развиваться? Чтобы ответить на данный вопрос, я думаю, уместно будет привести один из принципов, который был часто использован при написании Ruby в первые дни: принцип наименьшего удивления (PoLS). Ruby должен вести себя так, как вы ожидали. Это легко описать на контрасте с Python:</p>
Expand Down
3 changes: 3 additions & 0 deletions doctrine/zh_cn.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Rails 信条
permalink: /doctrine/zh_cn
redirect_from:
- /doctrine/zh_cn/
---

<div class="heading common-padding--bottom common-padding--top common-shape--bottom-grey-down-left">
Expand Down
3 changes: 3 additions & 0 deletions doctrine/zh_tw.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Rails 基本主義
permalink: /doctrine/zh_tw
redirect_from:
- /doctrine/zh_tw/
---

<div class="heading common-padding--bottom common-padding--top common-shape--bottom-grey-down-left">
Expand Down

0 comments on commit 43c237b

Please sign in to comment.