Skip to content
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

BREAKING CHANGE: Change default serve port to 3000 and add ability to override #265

Merged
merged 5 commits into from
Jan 20, 2025
Merged
Show file tree
Hide file tree
Changes from 2 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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Options:

Commands:
generate Converts a source markdown folder or file to an output folder
serve Continuously serve a documentation folder at http://localhost:5000.
serve Continuously serve a documentation folder at http://localhost:3000.
File systems changes will be reflected without having to restart the server.
```

Expand Down
10 changes: 5 additions & 5 deletions docs/source/contribute/locally.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Follow these steps to contribute to Elastic docs.
```

3. **Run the Binary:**
Use the `serve` command to start serving the documentation at http://localhost:5000. The path to the docset.yml file that you want to build can be specified with `-p`:
Use the `serve` command to start serving the documentation at http://localhost:3000. The path to the docset.yml file that you want to build can be specified with `-p`:
```sh
./docs-builder serve -p ./path/to/docs
```
Expand All @@ -53,7 +53,7 @@ Follow these steps to contribute to Elastic docs.
```

3. **Run the Binary:**
Use the `serve` command to start serving the documentation at http://localhost:5000. The path to the docset.yml file that you want to build can be specified with `-p`:
Use the `serve` command to start serving the documentation at http://localhost:3000. The path to the docset.yml file that you want to build can be specified with `-p`:
```sh
.\docs-builder serve -p ./path/to/docs
```
Expand All @@ -77,7 +77,7 @@ Follow these steps to contribute to Elastic docs.
```

3. **Run the Binary:**
Use the `serve` command to start serving the documentation at http://localhost:5000. The path to the docset.yml file that you want to build can be specified with `-p`:
Use the `serve` command to start serving the documentation at http://localhost:3000. The path to the docset.yml file that you want to build can be specified with `-p`:
```sh
./docs-builder serve -p ./path/to/docs
```
Expand All @@ -101,7 +101,7 @@ git clone https://github.com/elastic/docs-content.git
```

2. **Run the Binary:**
Use the `serve` command to start serving the documentation at http://localhost:5000. The path to the `docset.yml` file that you want to build can be specified with `-p`:
Use the `serve` command to start serving the documentation at http://localhost:3000. The path to the `docset.yml` file that you want to build can be specified with `-p`:
```sh
# macOS/Linux
./docs-builder serve -p ./migration-test
Expand All @@ -110,7 +110,7 @@ git clone https://github.com/elastic/docs-content.git
.\docs-builder serve -p .\migration-test
```

Now you should be able to view the documentation locally by navigating to http://localhost:5000.
Now you should be able to view the documentation locally by navigating to http://localhost:3000.

## Step 4: Open a PR [#step-four]

Expand Down
8 changes: 4 additions & 4 deletions src/docs-builder/Cli/Commands.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,20 @@ namespace Documentation.Builder.Cli;
internal class Commands(ILoggerFactory logger, ICoreService githubActionsService)
{
/// <summary>
/// Continuously serve a documentation folder at http://localhost:5000.
/// Continuously serve a documentation folder at http://localhost:3000.
/// File systems changes will be reflected without having to restart the server.
/// </summary>
/// <param name="path">-p, Path to serve the documentation.
/// Defaults to the`{pwd}/docs` folder
/// </param>
/// <param name="port">Port to serve the documentation.</param>
/// <param name="ctx"></param>
[Command("serve")]
public async Task Serve(string? path = null, Cancel ctx = default)
public async Task Serve(string? path = null, int port = 3000, Cancel ctx = default)
{
var host = new DocumentationWebHost(path, logger, new FileSystem());
var host = new DocumentationWebHost(path, port, logger, new FileSystem());
await host.RunAsync(ctx);
await host.StopAsync(ctx);

}

/// <summary>
Expand Down
5 changes: 3 additions & 2 deletions src/docs-builder/Http/DocumentationWebHost.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
using Elastic.Markdown.Diagnostics;
using Elastic.Markdown.IO;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
Expand All @@ -28,7 +29,7 @@ public class DocumentationWebHost

private readonly BuildContext _context;

public DocumentationWebHost(string? path, ILoggerFactory logger, IFileSystem fileSystem)
public DocumentationWebHost(string? path, int port, ILoggerFactory logger, IFileSystem fileSystem)
{
var builder = WebApplication.CreateSlimBuilder();

Expand All @@ -53,7 +54,7 @@ public DocumentationWebHost(string? path, ILoggerFactory logger, IFileSystem fil
builder.Services.AddHostedService<ReloadGeneratorService>();

//builder.Services.AddSingleton(logger);

builder.WebHost.UseUrls($"http://localhost:{port}");
Mpdreamz marked this conversation as resolved.
Show resolved Hide resolved
_webApplication = builder.Build();
SetUpRoutes();
}
Expand Down
Loading