Skip to content

Add Tools page #679

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions _data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
- header: Packages
url: /packages/
# ------------------------------------------------------------------------------
- header: Tools
url: /tools/
# ------------------------------------------------------------------------------
- header: Community
url: /community/
pages:
Expand Down
20 changes: 20 additions & 0 deletions _data/tools/editors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
- name: Xcode
description: Xcode is a complete IDE enabling you to develop, test, debug, and distribute apps for all Apple platforms on macOS.
link: https://developer.apple.com/xcode
guide: https://developer.apple.com/xcode
- name: Visual Studio Code
description: Visual Studio Code is a cross-platform and extensible editor that supports Swift through the Swift extension, which provides intelligent editor functionality as well as debugging and test support.
link: https://code.visualstudio.com
guide: /documentation/articles/getting-started-with-vscode-swift.html
- name: Emacs
description: Emacs is an extensible cross-platform text editor. Swift editing support can be enabled through community-provided packages.
link: https://www.gnu.org/software/emacs/
guide: /documentation/articles/zero-to-swift-emacs.html
- name: Neovim
description: Neovim is an extensible cross-platform text editor. Swift editing support can be enabled through your pick of community-provided plugins.
link: https://neovim.io/
guide: /documentation/articles/zero-to-swift-nvim.html
- name: Other Editors
description: Any editor that supports the Language Server Protocol (LSP) can use SourceKit-LSP to provide intelligent editor functionality for Swift.
link: https://github.com/apple/sourcekit-lsp/tree/main/Documentation/Editor%20Integration.md
guide: https://github.com/apple/sourcekit-lsp/tree/main/Documentation/Editor%20Integration.md
1 change: 1 addition & 0 deletions assets/stylesheets/_pages.scss
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
@import "pages/swift-evolution";
@import "pages/packages";
@import "pages/download";
@import "pages/tools";
36 changes: 36 additions & 0 deletions assets/stylesheets/pages/_tools.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
.tool-list {
$grid-breakpoint: 1000px;
list-style: none;
padding-left: 0;
display: grid;
gap: 1rem;

.tool {
border: 1px solid var(--color-fill-tertiary);
padding: 1rem;
border-radius: 4px;
display: flex;
flex-direction: column;

h3 {
line-height: 1.4;
font-size: 1.4rem;
padding-top: 0;
display: flex;
justify-content: space-between;
}

p {
flex-grow: 1;
color: var(--color-secondary-label);
}

img {
width: 26px;
}
}

@media (min-width: 1000px) {
grid-template-columns: repeat(2, 1fr);
}
}
21 changes: 21 additions & 0 deletions tools/_editors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Editors

<ul class="tool-list">
{%- for editor in site.data.tools.editors %}
<li class="tool">
<h3>
<a target="_blank" href="{{ editor.link }}">
{{ editor.name }}
</a>
</h3>
<p class="description">
{{ editor.description }}
</p>
{% if editor.guide %}
<a href="{{ editor.guide }}" class="cta-secondary">
Learn more
</a>
{% endif %}
</li>
{%- endfor %}
</ul>
8 changes: 8 additions & 0 deletions tools/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
layout: page-wide
title: Tools
---

Your favorite editor likely already supports Swift. Below are setup guides for some popular choices.

{% include_relative _editors.md %}