|
1 | 1 | <!DOCTYPE html>
|
2 | 2 | <html>
|
3 | 3 | <head>
|
4 |
| - <meta charset="utf-8"> |
5 |
| - <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
6 |
| - <meta name="viewport" content="width=device-width, initial-scale=1"> |
7 |
| - <meta name="description" content="Free and open source server providing code assistance for PHP"> |
8 |
| - |
9 |
| - <meta property="og:title" content="Serenata"> |
10 |
| - <meta name="description" content="Free and open source server providing code assistance for PHP"> |
11 |
| - <meta property="og:description" content="Free and open source server providing code assistance for PHP"> |
12 |
| - <link rel="canonical" href="https://php-integrator.github.io/"> |
13 |
| - <meta property="og:url" content="https://php-integrator.github.io/"> |
14 |
| - <meta property="og:site_name" content="Serenata"> |
15 |
| - <meta property="og:image" content="https://php-integrator.github.io/images/logo.png"> |
16 |
| - <script type="application/ld+json"> |
17 |
| - { |
18 |
| - "@context": "http://schema.org", |
19 |
| - "@type": "WebSite", |
20 |
| - "name": "Serenata", |
21 |
| - "headline": "Serenata", |
22 |
| - "image": "https://php-integrator.github.io/images/logo.png", |
23 |
| - "description": "Free and open source server providing code assistance for PHP", |
24 |
| - "logo": "https://php-integrator.github.io/images/logo.png", |
25 |
| - "url": "https://php-integrator.github.io/" |
26 |
| - } |
27 |
| - </script> |
28 |
| - |
29 |
| - <title>Serenata</title> |
30 |
| - |
31 |
| - <link rel="icon" href="images/logo.png"> |
32 |
| - |
33 |
| - <style type="text/css"> |
34 |
| - * { |
35 |
| - margin: 0; |
36 |
| - } |
37 |
| - |
38 |
| - body { |
39 |
| - font-family: sans-serif; |
40 |
| - font-size: 18px; |
41 |
| - color: #333333; |
42 |
| - background-color: white; |
43 |
| - } |
44 |
| - |
45 |
| - h1, h2, h3, h4 { |
46 |
| - line-height: 1.2; |
47 |
| - margin-top: 1.5em; |
48 |
| - } |
49 |
| - |
50 |
| - h2:before { |
51 |
| - content: ' ⁓ '; |
52 |
| - } |
53 |
| - |
54 |
| - p { |
55 |
| - line-height: 1.5; |
56 |
| - margin-top: 1.5em; |
57 |
| - } |
58 |
| - |
59 |
| - ul li, ol li { |
60 |
| - line-height: 1.7; |
61 |
| - } |
62 |
| - |
63 |
| - a { |
64 |
| - color: #333333; |
65 |
| - } |
66 |
| - |
67 |
| - ul, ol { |
68 |
| - margin-top: 15px; |
69 |
| - } |
70 |
| - |
71 |
| - a:hover { |
72 |
| - text-decoration: none; |
73 |
| - } |
74 |
| - |
75 |
| - .content { |
76 |
| - max-width: 952px; |
77 |
| - margin-left: auto; |
78 |
| - margin-right: auto; |
79 |
| - margin-top: 50px; |
80 |
| - |
81 |
| - animation: fadeIn 0.5s 1; |
82 |
| - } |
83 |
| - |
84 |
| - .title { |
85 |
| - margin-top: 15px; |
86 |
| - } |
87 |
| - |
88 |
| - .left { |
89 |
| - order: 1; |
90 |
| - flex: 0 0 50%; |
91 |
| - } |
92 |
| - |
93 |
| - .right { |
94 |
| - order: 2; |
95 |
| - flex: 0 0 50%; |
96 |
| - } |
97 |
| - |
98 |
| - .left p, .left h3 { |
99 |
| - padding-right: 50px; |
100 |
| - } |
101 |
| - |
102 |
| - .right p, .right h3 { |
103 |
| - padding-left: 50px; |
104 |
| - } |
105 |
| - |
106 |
| - .left img, .right img { |
107 |
| - width: 100%; |
108 |
| - } |
109 |
| - |
110 |
| - .row { |
111 |
| - display: inline-flex; |
112 |
| - |
113 |
| - margin-top: 25px; |
114 |
| - } |
115 |
| - |
116 |
| - .center { |
117 |
| - text-align: center; |
118 |
| - } |
119 |
| - |
120 |
| - .small-text { |
121 |
| - font-size: 13px; |
122 |
| - } |
123 |
| - |
124 |
| - .bottom-bar { |
125 |
| - padding: 10px; |
126 |
| - color: #444444; |
127 |
| - background-color: #ddd; |
128 |
| - } |
129 |
| - |
130 |
| - @keyframes fadeIn { |
131 |
| - 0% { opacity: 0; margin-top: 25px; } |
132 |
| - 100% { opacity: 1; margin-top: 50px; } |
133 |
| - } |
134 |
| - </style> |
| 4 | + <meta http-equiv="refresh" content="0; url=https://serenata.gitlab.io/" /> |
135 | 5 | </head>
|
136 | 6 |
|
137 | 7 | <body>
|
138 |
| - <a href="https://gitlab.com/Serenata/Serenata" class="github-corner" aria-label="View source"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style> |
139 |
| - |
140 |
| - <div class="content"> |
141 |
| - <div class="center"> |
142 |
| - <img src="images/logo.png" alt="Logo" /> |
143 |
| - </div> |
144 |
| - |
145 |
| - <h1 id="title" class="title center">Serenata</h1> |
146 |
| - |
147 |
| - <div class="center"> |
148 |
| - <em>Free and open source server providing code assistance for PHP</em> |
149 |
| - |
150 |
| - <div class="small-text"> |
151 |
| - <a href="https://gitlab.com/Serenata/Serenata">Show me the source</a> |
152 |
| - </div> |
153 |
| - </div> |
154 |
| - |
155 |
| - <p> |
156 |
| - Serenata is a free and open source server that provides code assistance for PHP. It can be integrated |
157 |
| - into any editor and is already integrated into the <a href="https://www.atom.io">Atom editor</a> via |
158 |
| - the <a href="https://github.com/Gert-dev/php-ide-serenata/">php-ide-serenata</a> package. |
159 |
| - </p> |
160 |
| - |
161 |
| - <div class="row"> |
162 |
| - <div class="right"> |
163 |
| - <img src="images/autocompletion.png" /> |
164 |
| - </div> |
165 |
| - |
166 |
| - <div class="left"> |
167 |
| - <h3 id="autocompletion">Autocompletion</h3> |
168 |
| - <p> |
169 |
| - One of the most useful features in a programmer's toolbox is autocompletion, which suggests: |
170 |
| - </p> |
171 |
| - |
172 |
| - <ul> |
173 |
| - <li>Relevant object class members</li> |
174 |
| - <li>Global functions and constants</li> |
175 |
| - <li>Local variables</li> |
176 |
| - <li>...</li> |
177 |
| - </ul> |
178 |
| - </div> |
179 |
| - </div> |
180 |
| - |
181 |
| - <div class="row"> |
182 |
| - <div class="left"> |
183 |
| - <img src="images/code-navigation.png" /> |
184 |
| - </div> |
185 |
| - |
186 |
| - <div class="right"> |
187 |
| - <h3 id="code-navigation">Code Navigation / Goto Definition</h3> |
188 |
| - <p> |
189 |
| - Code navigation allows you to effortlessly travel through your codebase by clicking the names |
190 |
| - of method calls, classes, interfaces, and other structural elements. |
191 |
| - </p> |
192 |
| - |
193 |
| - <p> |
194 |
| - Navigating will immediately take you to the relevant location in your code base. |
195 |
| - </p> |
196 |
| - </div> |
197 |
| - </div> |
198 |
| - |
199 |
| - <div class="row"> |
200 |
| - <div class="right"> |
201 |
| - <img src="images/annotations.png" /> |
202 |
| - </div> |
203 |
| - |
204 |
| - <div class="left"> |
205 |
| - <h3 id="annotations">Annotations</h3> |
206 |
| - <p> |
207 |
| - Annotations provide you with relevant information about your code, such as that a parent property is |
208 |
| - being overridden or an interface method is being implemented. |
209 |
| - </p> |
210 |
| - |
211 |
| - <p> |
212 |
| - As an added bonus, clicking them will take you to the related element, whenever possible. |
213 |
| - </p> |
214 |
| - </div> |
215 |
| - </div> |
216 |
| - |
217 |
| - <div class="row"> |
218 |
| - <div class="left"> |
219 |
| - <img src="images/tooltips.png" /> |
220 |
| - </div> |
221 |
| - |
222 |
| - <div class="right"> |
223 |
| - <h3 id="tooltips">Tooltips</h3> |
224 |
| - <p> |
225 |
| - Tooltips display documentation for structural elements. Think extended docblock descriptions, |
226 |
| - method parameter descriptions, return type descriptions and exceptions thrown. |
227 |
| - </p> |
228 |
| - </div> |
229 |
| - </div> |
230 |
| - |
231 |
| - <div class="row"> |
232 |
| - <div class="right"> |
233 |
| - <img src="images/refactoring.png" /> |
234 |
| - </div> |
235 |
| - |
236 |
| - <div class="left"> |
237 |
| - <h3 id="refactoring">Refactoring</h3> |
238 |
| - <p> |
239 |
| - Refactoring is the component that has the most potential. Features currently include: |
240 |
| - </p> |
241 |
| - |
242 |
| - <ul> |
243 |
| - <li>Generating constructors</li> |
244 |
| - <li>Overriding existing methods</li> |
245 |
| - <li>Getter and setter generation</li> |
246 |
| - <li>Stubbing interface methods and abstract methods</li> |
247 |
| - </ul> |
248 |
| - </div> |
249 |
| - </div> |
250 |
| - |
251 |
| - <div class="row"> |
252 |
| - <div class="left"> |
253 |
| - <img src="images/signature-help.png" /> |
254 |
| - </div> |
255 |
| - |
256 |
| - <div class="right"> |
257 |
| - <h3 id="signature-help">Signature Help (Call Tips)</h3> |
258 |
| - <p> |
259 |
| - Signature help is much like tooltips, but differs only in that it displays information directly |
260 |
| - relevant to function or method calls, such as their expected arguments with their types and default |
261 |
| - values. |
262 |
| - </p> |
263 |
| - </div> |
264 |
| - </div> |
265 |
| - |
266 |
| - <div class="row"> |
267 |
| - <div class="right"> |
268 |
| - <img src="images/linting.png" /> |
269 |
| - </div> |
270 |
| - |
271 |
| - <div class="left"> |
272 |
| - <h3 id="linting">Linting</h3> |
273 |
| - <p> |
274 |
| - The list wouldn't be complete without a way to highlight errors before stumbling upon them whilst |
275 |
| - running the code. Finding nonexistent class names, docblock issues and missing global functions are |
276 |
| - all included in this process. |
277 |
| - </p> |
278 |
| - </div> |
279 |
| - </div> |
280 |
| - |
281 |
| - <div class="row"> </div> |
282 |
| - |
283 |
| - <h2 id="what-do-i-need">Awesome! What do I need?</h2> |
284 |
| - <p> |
285 |
| - To run, you will need at least: |
286 |
| - </p> |
287 |
| - |
288 |
| - <ul> |
289 |
| - <li><em>PHP 7.1 or higher <sup>*</sup></em> — The code you're actually writing can be anything ranging from PHP 5.2 up to (and including) PHP 7.1.</li> |
290 |
| - <li><em>php-sqlite (the PDO variant) and SQLite >= 3.7.11</em> — Required as back end for the indexing database.</li> |
291 |
| - <li><em>php-mbstring</em> — Required as source code can contain Unicode characters in strings or comments.</li> |
292 |
| - <li><em>openssl</em> — Required to fetch dependencies properly via Composer.</li> |
293 |
| - <li><em><a href="https://github.com/danielbrodin/atom-project-manager">atom-project-manager</a></em> — Fire up your active project and go to <em>Packages → Serenata → Set Up Current Project</em> (or use the command palette).</li> |
294 |
| - <li><em>Proper docblocks and type hinting</em> - See <a href="https://gitlab.com/Serenata/Serenata/wikis">our wiki</a> for more information.</li> |
295 |
| - </ul> |
296 |
| - |
297 |
| - <p> |
298 |
| - The following modules aren't directly used, but they may be required for installation in Atom via Composer or by dependencies: |
299 |
| - </p> |
300 |
| - |
301 |
| - <ul> |
302 |
| - <li><em>curl</em></li> |
303 |
| - <li><em>xml</em></li> |
304 |
| - <li><em>libxml</em></li> |
305 |
| - <li><em>dom</em></li> |
306 |
| - </ul> |
307 |
| - |
308 |
| - <p class="small-text"> |
309 |
| - <sup>*</sup> Not running PHP 7.1 yet? The latest version of the Atom package provides support for running |
310 |
| - through Docker, so no need to update your host PHP version! |
311 |
| - </p> |
312 |
| - |
313 |
| - <h2 id="how-do-i-make-it-work">How do I make it work?</h2> |
314 |
| - <p> |
315 |
| - In a nutshell: |
316 |
| - </p> |
317 |
| - |
318 |
| - <ol> |
319 |
| - <li>Install <em>PHP 7.1 or higher</em>.</li> |
320 |
| - <li>In <code>php.ini</code>, enable the extensions <em>mbstring, openssl</em> and <em>sqlite (the PDO variant)</em>.</li> |
321 |
| - <li>In Atom editor, install the <a href="https://atom.io/packages/Gert-dev/php-ide-serenata">php-ide-serenata</a> package and its dependencies.</li> |
322 |
| - <li>If necessary, give the path to your PHP binary in <em>Settings → Packages → php-ide-serenata Settings → Core</em>.</li> |
323 |
| - <li>Restart Atom and allow the base package to install the core.</li> |
324 |
| - <li>Add your project in <em>Project Manager</em> and set it up.</li> |
325 |
| - </ol> |
326 |
| - |
327 |
| - <p> |
328 |
| - It may also be worthwile to disable xdebug, if you have it enabled, as |
329 |
| - <a href="https://github.com/nikic/PHP-Parser/blob/master/doc/component/Performance.markdown#xdebug" target="blank" rel="noopener"> |
330 |
| - even loading it</a> can have a negative impact on performance. |
331 |
| - </p> |
332 |
| - |
333 |
| - <h2 id="what-is-it-really">Wait, now I'm confused, what is it really?</h2> |
334 |
| - <p> |
335 |
| - At the moment, Serenata itself consists of a set of Atom packages written in CoffeeScript, backed by |
336 |
| - a server written in PHP (the core). The PHP server is separate from the Atom packages and reusable, but is |
337 |
| - installed automatically to make the process of installing it as painless as possible for Atom users. |
338 |
| - </p> |
339 |
| - |
340 |
| - <p> |
341 |
| - Various additional functionalities, such as autocompletion and refactoring, can be installed as separate |
342 |
| - Atom packages as well. These packages interface with the base package via a CoffeeScript service. Most of |
343 |
| - the heavy lifting, such as indexing, analyzing types and static analysis is done by the PHP server. |
344 |
| - </p> |
345 |
| - |
346 |
| - <h2 id="is-it-really-exclusive-to-atom">Is it really exclusive to Atom?</h2> |
347 |
| - <p> |
348 |
| - The packages and CoffeeScript parts are dependent on Atom, but the PHP server, which does the heavy lifting, |
349 |
| - is not dependent on Atom at all. The PHP server was originally part of the base Atom package, but |
350 |
| - <a href="https://gitlab.com/Serenata/Serenata">has since been split off into a separate repository</a>. |
351 |
| - </p> |
352 |
| - |
353 |
| - <h2 id="what-about-making-it-a-language-server">What about making it a language server?</h2> |
354 |
| - <p> |
355 |
| - The Language Server Protocol has gathered some interest of late. Currently the core is not a compliant |
356 |
| - language server, but it already is a socket server using JSON-RPC for communication. Becoming compliant with |
357 |
| - the protocol is on the roadmap and would make the core much more reusable for other editors. |
358 |
| - </p> |
359 |
| - |
360 |
| - <h2 id="where-is-the-code">Where is the code?</h2> |
361 |
| - <p> |
362 |
| - The core is <a href="https://gitlab.com/Serenata/Serenata">on GitLab</a> and |
363 |
| - the Atom package <a href="https://github.com/Gert-dev/php-ide-serenata/">on GitHub</a>. |
364 |
| - </p> |
365 |
| - |
366 |
| - <p class="center"> |
367 |
| - <img src="images/gplv3-127x51.png" alt="GPLv3 Logo" /> |
368 |
| - </p> |
369 |
| - </div> |
370 |
| - |
371 |
| - <br> |
| 8 | + <p> |
| 9 | + Hi! We've <a href="https://serenata.gitlab.io/">moved to GitLab</a>, please update your bookmarks. |
| 10 | + </p> |
372 | 11 |
|
373 |
| - <div id="bottom-bar" class="bottom-bar"> |
374 |
| - <div id="donations" class="small-text center"> |
375 |
| - <strong><a target="blank" rel="noopener" href="https://liberapay.com/Gert-dev/donate">Feed me some coffee beans</a></strong> |
376 |
| - to keep it (me) alive! |
377 |
| - </div> |
378 |
| - </div> |
| 12 | + <p> |
| 13 | + This page should redirect automatically. |
| 14 | + </p> |
379 | 15 | </body>
|
0 commit comments