Skip to content

Commit a9a2a6a

Browse files
Add Tools page
1 parent f2fe939 commit a9a2a6a

File tree

6 files changed

+122
-0
lines changed

6 files changed

+122
-0
lines changed

_data/navigation.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
- header: Packages
1111
url: /packages/
1212
# ------------------------------------------------------------------------------
13+
- header: Tools
14+
url: /tools/
15+
# ------------------------------------------------------------------------------
1316
- header: Community
1417
url: /community/
1518
pages:

_data/tools/editors.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
- name: Xcode
2+
description: Xcode helps improve your productivity by simplifying Swift development on macOS.
3+
link: https://xcode.apple.com
4+
officially-supported: true
5+
- name: Visual Studio Code
6+
description: Visual Studio Code provides a modern development environment for Swift through the Swift extension.
7+
link: https://code.visualstudio.com
8+
guide: /documentation/articles/getting-started-with-vscode-swift.html
9+
officially-supported: true
10+
- name: Emacs
11+
description: Emacs provides a flexible and powerful environment for writing Swift code.
12+
link: https://www.gnu.org/software/emacs/
13+
community-supported: true
14+
guide: /documentation/articles/zero-to-swift-emacs.html
15+
- name: Neovim
16+
description: Neovim is a robust and adaptable editing environment that boosts productivity and efficiency for Swift development.
17+
link: https://neovim.io/
18+
guide: /documentation/articles/zero-to-swift-nvim.html
19+
community-supported: true
20+
- name: Other Editors
21+
description: Any editor that supports the Language Server Protocol (LSP) can use SourceKit-LSP to provide Swift support.
22+
link: https://github.com/apple/sourcekit-lsp/tree/main/Editors#other-editors
23+
officially-supported: true
24+
guide: /documentation/articles/other-swift-editors.html

assets/stylesheets/_pages.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
@import "pages/getting-started";
33
@import "pages/swift-evolution";
44
@import "pages/packages";
5+
@import "pages/tools";

assets/stylesheets/pages/_tools.scss

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
.tool-list {
2+
$grid-breakpoint: 1000px;
3+
list-style: none;
4+
padding-left: 0;
5+
display: grid;
6+
gap: 1rem;
7+
8+
.tool {
9+
border: 1px solid var(--color-fill-tertiary);
10+
padding: 1rem;
11+
border-radius: 4px;
12+
display: flex;
13+
flex-direction: column;
14+
15+
h3 {
16+
line-height: 1.4;
17+
font-size: 1.4rem;
18+
padding-top: 0;
19+
display: flex;
20+
justify-content: space-between;
21+
}
22+
23+
p {
24+
flex-grow: 1;
25+
color: var(--color-secondary-label);
26+
}
27+
28+
img {
29+
width: 26px;
30+
}
31+
32+
.supported {
33+
display: inline-flex;
34+
align-items: center;
35+
justify-content: center;
36+
border-radius: 4px;
37+
border: 1px #f05138 solid;
38+
font-size: 12px;
39+
line-height: 1;
40+
white-space: nowrap;
41+
color: #f05138;
42+
padding: 4px 5px;
43+
44+
&.community {
45+
border: 1px #3ea639 solid;
46+
color: #3ea639;
47+
}
48+
}
49+
}
50+
51+
@media (min-width: 1000px) {
52+
grid-template-columns: repeat(2, 1fr);
53+
}
54+
}

tools/_editors.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
## Editors
2+
3+
The following text editors provide features such as code completion, syntax highlighting, code navigation, debugging capabilities, and integration with build systems. These features streamline the coding process, improve code quality, enhance productivity, and help developers write Swift code more effectively.
4+
5+
<ul class="tool-list">
6+
{%- for editor in site.data.tools.editors %}
7+
<li class="tool">
8+
<h3>
9+
<a target="_blank" href="{{ editor.link }}">
10+
{{ editor.name }}
11+
</a>
12+
{% if editor.officially-supported or editor.community-supported %}
13+
<span class="supported {% if editor.community-supported %} community{% endif %}">
14+
{% if editor.officially-supported %}
15+
Officially supported
16+
{% else %}
17+
Community supported
18+
{% endif %}
19+
</span>
20+
{% endif %}
21+
</h3>
22+
<p class="description">
23+
{{ editor.description }}
24+
</p>
25+
{% if editor.guide %}
26+
<a href="{{ editor.guide }}" class="cta-secondary">
27+
Learn more
28+
</a>
29+
{% endif %}
30+
</li>
31+
{%- endfor %}
32+
</ul>

tools/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
layout: page-wide
3+
title: Tools
4+
---
5+
6+
Swift editing tools provide developers with a structured and productive environment for creating, editing, and maintaining Swift code. By utilizing these tools, developers can work more efficiently on Swift projects, leading to better outcomes and higher-quality software applications.
7+
8+
{% include_relative _editors.md %}

0 commit comments

Comments
 (0)