diff --git a/_data/new-data/community/page-data.yml b/_data/new-data/community/page-data.yml new file mode 100644 index 000000000..6a23b61c9 --- /dev/null +++ b/_data/new-data/community/page-data.yml @@ -0,0 +1,74 @@ +headline: Swift Community +read-more: Read more +hero-cards: + - image: + light: /assets/images/community/community-hero.png + dark: /assets/images/community/community-hero-dark.png + alt: Community Hero image + - image: + light: /assets/images/community/community-showcase@2x.png + dark: /assets/images/community/community-showcase-dark@2x.png + alt: Community Showcase image + label: Community Showcase + link: https://forums.swift.org + - image: + light: /assets/images/community/featured-packages@2x.png + dark: /assets/images/community/featured-packages-dark@2x.png + alt: Featured Package image + label: Featured Package + link: /packages/ +section2: + headline: Explore the forums + text: The community's official channel for answering questions and discussing the development of Swift + cards: + - title: Using Swift + text: This area is intended for users to get help with or ask questions about Swift or its related tools and is not for discussion about work being done to the language itself. + link: / + - title: Swift development + text: Topics related to development and implementation of Swift. + link: / + - title: Swift evolution + text: Topics related to the Swift Evolution Process. Another line here. + link: / + - title: Related projects + text: Dedicated to open source projects within the Swift community that are separate from the Swift language itself. + link: / +section3: + headline: Contribute to Swift + text: Swift is open to code and non-code contributions, get involved today + cards: + - title: Open pull requests and issues + text: Contributions are welcome! Each Swift project has a contributing file that describes its best practices. + link: / + - title: Paticipate in language design + text: Major Swift language features are openly developed as part of the Swift Evolution process. + link: / + - title: Answers questions on Swift Forums + text: Help others by answering each others questions. Another line here. + link: / + - title: Learn about workgroups + text: Community groups coordinating focused efforts within the Swift project. + link: / +section4: + headline: Follow Swift + links: + - image: / + label: Bluesky + link: / + alt: Bluesky icon + - image: / + label: Mastodon + link: / + alt: Mastodon icon + - image: / + label: Twitter/X + link: / + alt: Twitter/X icon + - image: / + label: Swift blog + link: / + alt: Swift blog icon + - image: / + label: GitHub + link: / + alt: GitHub icon diff --git a/assets/images/community/community-bg-hero@2x.png b/assets/images/community/community-bg-hero@2x.png new file mode 100644 index 000000000..1adc2768b Binary files /dev/null and b/assets/images/community/community-bg-hero@2x.png differ diff --git a/assets/images/community/community-dark@2x.png b/assets/images/community/community-dark@2x.png new file mode 100644 index 000000000..996a09b1d Binary files /dev/null and b/assets/images/community/community-dark@2x.png differ diff --git a/assets/images/community/community-hero-dark.png b/assets/images/community/community-hero-dark.png new file mode 100644 index 000000000..b833c318d Binary files /dev/null and b/assets/images/community/community-hero-dark.png differ diff --git a/assets/images/community/community-hero.png b/assets/images/community/community-hero.png new file mode 100644 index 000000000..742ee11b7 Binary files /dev/null and b/assets/images/community/community-hero.png differ diff --git a/assets/images/community/community-showcase-dark@2x.png b/assets/images/community/community-showcase-dark@2x.png new file mode 100644 index 000000000..2d8ae7f20 Binary files /dev/null and b/assets/images/community/community-showcase-dark@2x.png differ diff --git a/assets/images/community/community-showcase@2x.png b/assets/images/community/community-showcase@2x.png new file mode 100644 index 000000000..c9632ca3d Binary files /dev/null and b/assets/images/community/community-showcase@2x.png differ diff --git a/assets/images/community/featured-packages-dark@2x.png b/assets/images/community/featured-packages-dark@2x.png new file mode 100644 index 000000000..33ed48ae7 Binary files /dev/null and b/assets/images/community/featured-packages-dark@2x.png differ diff --git a/assets/images/community/featured-packages@2x.png b/assets/images/community/featured-packages@2x.png new file mode 100644 index 000000000..2d0eb2384 Binary files /dev/null and b/assets/images/community/featured-packages@2x.png differ diff --git a/assets/stylesheets/new-stylesheets/_pages.scss b/assets/stylesheets/new-stylesheets/_pages.scss index 170992dba..fd047e2d9 100644 --- a/assets/stylesheets/new-stylesheets/_pages.scss +++ b/assets/stylesheets/new-stylesheets/_pages.scss @@ -4,3 +4,4 @@ @use 'pages/get-started'; @use 'pages/blog'; @use 'pages/post'; +@use 'pages/community'; diff --git a/assets/stylesheets/new-stylesheets/_themes.scss b/assets/stylesheets/new-stylesheets/_themes.scss index b1f1e5704..8c731f80a 100644 --- a/assets/stylesheets/new-stylesheets/_themes.scss +++ b/assets/stylesheets/new-stylesheets/_themes.scss @@ -128,6 +128,8 @@ --dropdown-check-icon: url('/assets/images/icon-check-dark.svg'); --dropdown-check-icon-inverse: url('/assets/images/icon-check-light.svg'); --dropdown-all-background: #384ff0; + + --community-featured-image-1: url('/assets/images/community/community-bg-hero@2x.png'); } @mixin dark-theme() { @@ -251,4 +253,6 @@ --dropdown-check-icon: url('/assets/images/icon-check-light.svg'); --dropdown-check-icon-inverse: url('/assets/images/icon-check-dark.svg'); --dropdown-all-background: #1dc2fe; + + --community-featured-image-1: url('/assets/images/community/community-dark@2x.png'); } diff --git a/assets/stylesheets/new-stylesheets/pages/_community.scss b/assets/stylesheets/new-stylesheets/pages/_community.scss new file mode 100644 index 000000000..bc6b42274 --- /dev/null +++ b/assets/stylesheets/new-stylesheets/pages/_community.scss @@ -0,0 +1,318 @@ +@use 'sass:color'; +@use '../helpers' as *; +@use '../graphics' as *; +@use '../_colors.scss'; + +.community { + padding-bottom: 135px; + color: var(--site-text-color); + position: relative; + background: var(--get-started-page-bg); + @include noise(); + + .community-swoop-1 { + width: 100%; + background-image: var(--community-featured-image-1); + background-repeat: no-repeat; + background-size: 100% auto; + background-position: 0 0; + position: absolute; + top: 0; + z-index: 1; + aspect-ratio: 2624/1427.09; + } + + .content { + position: relative; + z-index: 10; + max-width: 980px; + width: 100%; + margin: 0 auto; + box-sizing: border-box; + border-radius: 22px; + text-align: left; + backdrop-filter: blur(10px); + + @media only screen and (max-width: 1024px) { + padding: 20px; + } + } + + .community-featured-grid { + margin-top: 146px; + line-height: 1.53; + + .content { + padding: 30px 50px 20px; + background-color: var(--get-started-card-primary-bg); + + @media only screen and (max-width: 1024px) { + width: auto; + margin: 0 10px; + } + + @media only screen and (max-width: 768px) { + padding: 22px 15px 10px; + } + + .community-featured-grid-headline { + font-size: 48px; + font-weight: 500; + margin-bottom: 16px; + color: var(--site-text-color); + text-align: center; + + @media only screen and (max-width: 768px) { + font-size: 32px; + line-height: 1.33; + margin-bottom: 22px; + } + } + + .community-sub-featured-grid-headline { + font-size: 28px; + font-weight: 500; + margin-bottom: 16px; + color: var(--site-text-color); + text-align: left; + + @media only screen and (max-width: 768px) { + font-size: 22px; + line-height: 1.33; + margin-bottom: 22px; + text-align: center; + } + } + + .community-featured-hero-card-image { + border-radius: 22px; + aspect-ratio: 880 / 382; + object-fit: cover; + object-position: center; + margin-bottom: 26px; + transition: transform 0.3s ease; + } + + .community-featured-hero-card-image.with-zoom:hover { + transform: scale(1.01); + } + + .community-sub-featured-grid-headline { + text-align: left; + + @media only screen and (max-width: 768px) { + text-align: center; + } + } + + .community-sub-featured { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 2rem; + + @media only screen and (max-width: 768px) { + gap: 0; + } + } + + @media (max-width: 768px) { + .community-sub-featured { + grid-template-columns: 1fr; + } + } + } + } + + .community-section-grid { + line-height: 1.53; + margin-top: 80px; + + &>.community-section-grid-headline { + margin-bottom: 40px; + color: var(--site-text-color); + } + + .content { + padding: 30px 50px 50px; + background-color: var(--get-started-card-primary-bg); + + &.links { + padding-bottom: 30px; + } + + @media only screen and (max-width: 1024px) { + width: auto; + margin: 0 10px; + } + + @media only screen and (max-width: 768px) { + padding: 22px 15px 10px; + } + + .community-section-grid-headline { + font-size: 48px; + font-weight: 500; + margin-bottom: 16px; + color: var(--site-text-color); + text-align: center; + + @media only screen and (max-width: 768px) { + font-size: 32px; + line-height: 1.33; + margin-bottom: 22px; + } + } + + .section-text { + text-align: center; + font-size: 20px; + line-height: 1.8; + max-width: 540px; + margin: 40px auto; + } + + .community-section-cards { + text-align: left; + overflow: hidden; + padding: 20px 30px 20px 20px; + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 20px; + + @media only screen and (max-width: 768px) { + grid-template-columns: repeat(1, 1fr); + } + + li { + display: flex; + flex-direction: column; + border-radius: 22px; + background-color: var(--get-started-card-secondary-bg); + flex: 1; + min-height: 140px; + position: relative; + padding: 20px; + + a.card-link { + color: var(--site-text-color); + text-decoration: none; + display: flex; + flex-direction: column; + text-decoration: none; + color: inherit; + border-radius: 22px; + height: 100%; + + .community-card-headline { + font-size: 21px; + line-height: 1.25; + margin-bottom: 10px; + } + + .body-copy { + font-size: 17px; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + flex-grow: 0; + } + + .card-cta { + position: absolute; + left: 20px; + bottom: 20px; + color: var(--site-link-with-right-arrow-color); + } + } + } + } + + .community-section-links { + display: flex; + list-style: none; + padding: 0; + margin: 0; + width: 100%; + gap: 0; + align-items: center; + height: 150px; + } + + .community-section-links li { + flex: 1; + display: flex; + justify-content: center; + align-items: center; + position: relative; + } + + .link-card { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-decoration: none; + color: inherit; + width: 100%; + height: 100%; + } + + .link-card-image { + width: 80px; + height: auto; + margin-bottom: 8px; + border-radius: 8px; + } + + .link-card-text { + text-align: center; + font-size: 14px; + line-height: 1.4; + } + + .community-section-links li:nth-child(3)::after { + content: ""; + position: absolute; + right: 0; + top: 12%; + bottom: 12%; + width: 1px; + background-color: #999; + } + + @media (max-width: 768px) { + .community-section-links { + flex-direction: column; + height: auto; + } + + .community-section-links li { + width: 100%; + padding: 16px 0; + } + + .community-section-links li:nth-child(3)::after { + content: none; + } + + .link-card { + flex-direction: row; + justify-content: center; + gap: 12px; + } + + .link-card-image { + width: 60px; + margin-bottom: 0; + } + + .link-card-text { + text-align: left; + font-size: 16px; + } + } + } + } +} \ No newline at end of file diff --git a/community/index.md b/community/index.md index d38dda72b..bd2568745 100644 --- a/community/index.md +++ b/community/index.md @@ -1,110 +1,137 @@ --- -layout: page -title: Community Overview +layout: new-layouts/base +title: Community --- -The Swift.org community has the singular goal of making the world's best general purpose programming language. Collectively we will develop the language in the open, with contributions from anyone who wishes to participate. This guideline document describes how the Swift community is organized so that we can work together to add amazing new capabilities to Swift, and make it available to even more developers across more platforms. - - -## Communication - -The Swift language is developed in the open, and all technical or administrative topics about the language or community processes should be directed to the Swift public forums. Public conversations are encouraged, and active developers of the Swift language should monitor the relevant forum categories. - -* Directory of forum categories and email instructions are in the [forum section](#forums). -* Source code for Swift projects can be found on GitHub at [github.com/swiftlang][github]. -* The Swift bug tracking system is maintained at [github.com/swiftlang/swift/issues][bugtracker]. - -All communication within project spaces should adhere to Swift project's [Code of Conduct](/code-of-conduct). - -## Community Structure - -Advancing the Swift programming language with a coherent, clear view of its evolution requires strong leadership. The leadership is taken from the community, and works closely with the much broader group of contributors and users. Roles within the community include: - - -* __[Project Lead](#project-lead)__ appoints technical leaders from the community. Apple Inc. is the project lead, and interacts with the community through its representative. -* __[Core Team](#core-team)__ is the small group responsible for strategic direction and oversight of the Swift project. -* __[Code Owner](/contributing/#code-owners)__ is the individual responsible for a specific area of the Swift codebase. -* __[Code Merger](/contributing/#code-merger)__ is anyone that has commit access to the Swift code base. -* __[Member](/contributing/#member)__ is anyone who is a member of the swiftlang organization on GitHub. -* __[Contributor](/contributing/#contributor)__ is anyone who has contributed to Swift by writing code, answering questions on the forums, reporting or triaging bugs, participating in the Swift evolution process, or other ways. -* __Steering Groups__ - * __[Ecosystem](/ecosystem-steering-group)__ is a small group of experts who focus on the direction of Swift packages and tooling. - * __[Language](#language-steering-group)__ is a small group of experts that drive the Swift language forward in a coherent direction. - * __[Platforms](/platform-steering-group)__ is a small group of experts that enables the Swift language and its tools to be used in new environments. -* __Workgroups__ - * __[Android](/android-workgroup)__ is a team that works on the use of Swift for developing Android applications. - * __[C++ Interoperability](/cxx-interop-workgroup)__ is a team that works on adding the support for the bidirectional interoperability between Swift and C++. - * __[Contributor Experience](/contributor-experience-workgroup)__ is a team that supports contributors to the Swift project, including contributions on the Swift Forums. - * __[Documentation](/documentation-workgroup)__ is a team that helps guide the documentation experience for Swift. - * __[Swift on Server](/sswg)__ is a team that promotes the use of Swift for developing and deploying server applications. - * __[Testing](/testing-workgroup)__ is a team that helps guide the experience, libraries, and tools for testing Swift code. - * __[Website](/website-workgroup/)__ is a team that helps guide the evolution on the Swift.org website. - -Most importantly, everyone that uses Swift is a valued member of our extended community. - -#### Project Lead - -[Contact via Forums](https://forums.swift.org/new-message?username=tkremenek) - -Apple Inc. is the project lead and serves as the arbiter for the project. The project lead makes senior appointments to leadership roles, with those leaders coming from the worldwide Swift community of contributors. The community leaders and code contributors work together to continually improve Swift, and the language will advance by the good works of everyone involved. - -[Ted Kremenek](mailto:kremenek@apple.com) is the appointed representative from Apple, and acts as the voice of the project lead. - -#### Core Team - -[Contact via Forums](https://forums.swift.org/new-message?groupname=core-team) - -The Core Team provides cohesion across the Swift community's various workgroups and initiatives, providing support and strategic alignment. The Project Lead appoints members of the Core Team to bring a mixture of experience, expertise, and leadership so the group may together act as effective stewards for the Swift project and its community. The Core Team membership is expected to change over time. - -The current Core Team members are: - -{% assign people = site.data.core_team | sort: "name" %} -{% for person in people %}* {{ person.name }} -{% endfor %} - -We are grateful for the service of the following emeritus Core Team members: - -{% assign people = site.data.core_team_emeriti | sort: "name" %} -{% for person in people %}* {{ person.name }} -{% endfor %} - - -#### Language Steering Group - -[Contact via Forums](https://forums.swift.org/new-message?groupname=language-workgroup) - -The Language Steering Group comprises experts that the Swift Project Lead and the Core Team have identified as possessing a balance of perspectives and expertise to review, guide, and strategically align changes to the language mindfully. The Language Steering Group reviews and helps iterate [language evolution proposals](/contributing/#evolution-process) from the community, acting as the approver of these proposals. Workgroup members help drive the Swift language forward coherently to create the best possible general-purpose programming language. The Language Steering Group membership is expected to change over time. - -The current Language Steering Group members are: - -{% assign people = site.data.language_wg | sort: "name" %} -{% for person in people %}* {{ person.name }} -{% endfor %} - -{% include_relative _forums.md %} - - -[homepage]: ./index.html "Swift.org home page" -[community]: ./community.html "Swift.org community overview" -[contributing_code]: /contributing/#contributing-code "Contributing Code" -[test_guide]: ./test_guide.html "Detailed guide to writing good Swift tests" -[blog]: ./blog_home.html "Swift.org engineering blog" -[faq]: ./faq.html "The FAQ for all things Swift.org" -[downloads]: ./downloads.html "Download recent builds of Swift tools" -[forums]: ./forums.html -[contributors]: ./CONTRIBUTORS.txt "View all Swift project authors" -[owners]: ./CODE_OWNERS.txt "View all Swift project code owners" -[license]: ./LICENSE.txt "View the Swift license" - - -[email-conduct]: mailto:conduct@swift.org "Send email to the code of conduct working group" -[email-owners]: mailto:code-owners@forums.swift.org "Send email to the code owners" -[email-users]: mailto:swift-users@swift.org "Email other users of Swift" -[email-devs]: mailto:swift-dev@swift.org "Email the developer discussion list" -[email-lead]: mailto:project-lead@swift.org "The leaders at Apple responsible for Swift.org" - -[github]: https://github.com/swiftlang "The Swift organization on GitHub" -[repo]: git+ssh://github.com/apple "Link to the repo hosted on GitHub" -[bugtracker]: http://github.com/swiftlang/swift/issues - -[swift-apple]: https://developer.apple.com/swift "Apple developer home page for Swift" +
+
+ +
+
+

+ {{ site.data.new-data.community.page-data.section2.headline }} +

+ +

+ {{ site.data.new-data.community.page-data.section2.text }} +

+ + +
+
+
+
+

+ {{ site.data.new-data.community.page-data.section3.headline }} +

+ +

+ {{ site.data.new-data.community.page-data.section3.text }} +

+ + +
+
+
+

+ {{ site.data.new-data.community.page-data.section4.headline }} +

+ +
+