Giter Site home page Giter Site logo

cake-build / website Goto Github PK

View Code? Open in Web Editor NEW
44.0 15.0 229.0 7.88 MB

:earth_americas: The Cake website: https://cakebuild.net

Home Page: https://cakebuild.net

License: MIT License

C# 19.40% Batchfile 0.13% PowerShell 0.22% Shell 0.15% HTML 55.98% ASP.NET 1.76% Less 22.34%
cake-build website cake build-system hacktoberfest

website's Introduction

Cake Website

This is the Cake website. It's a static site generated by Wyam which is hosted on Azure. Wyam is a static content toolkit and can be used to generate web sites, produce documentation, create ebooks, and much more.

Contributing

Any contributions are appreciated, no matter how big or small. The Cake site consists of several different sections and each one is described below.

NOTE If you're interested in contributing please reach out to us on GitHub Discussions first.

Documentation

The basic documentation pages can be found under ./input/docs. The directory structure mirrors what's on the site. Most pages are written in Markdown. To add a new page, just add a new file.

Blog

The Cake site contains a blog where important announcements and other relevant information are posted. The blog posts can be found under ./input/blog. As with documentation pages, blog posts are written in Markdown. The file name for each blog post contains its published date in the format YYYY-MM-DD-title.md.

Extensions

PLEASE NOTE: Extension authors do not have to manually create YAML files as there is an automated process that scans nuget.org twice per day to find all extensions that follow the recommended naming convention (which is Cake.xxx for addins and Cake.xxx.Module for modules, where xxx describes the functionality provided by the extension) and generates the appropriate YAML content based on the metadata for the NuGet package.

All extensions are specified in individual YAML files under ./extensions. Adding an extension here will trigger downloading it's NuGet Package during site generation and will include it in the "Reference" and "Extensions" sections of the Cake site.

The format of an extension file generally looks like:

Type: Addin
Name: Cake.Wyam
NuGet: Cake.Wyam
Assemblies:
- "/**/Cake.Wyam.dll"
Repository: https://github.com/Wyamio/Wyam
Author: Dave Glick, Gary Ewan Park
Description: "An alias that generates static sites and other content using Wyam."
Categories:
- Documentation
- Static Site Generation

Type can be one of the following values: Addin, Module, Recipe.

Search

Search uses Algolia DocSearch as backend. Configuration for crawler is available at https://github.com/algolia/docsearch-configs/blob/master/configs/cakebuild.json.

Building

The site is built using Cake (of course!). There are a number of different targets depending on what you're working on and how complete you want the generated site to be.

build --target=GetSource will download the Cake source code that the generation process uses to create the "API" section.

build --target=GetExtensionPackages will download new NuGet packages for all specified extensions. These packages are used to create the "Reference" and "Extensions" sections.

build --target=GetArtifacts will download both the Cake source code and the extension NuGet packages.

build --target=Build will run a complete build, downloading new copies of Cake source code and extension NuGet packages. Note that due to the number of extensions and the complexity of generating complete API documentation, the site generation may take a while (sometimes as long as 20 minutes).

build --target=Preview will run a build but will not download Cake source code or NuGet packages. This lets you shorten the build cycle by avoiding the time to obtain those resources if you've already downloaded them, or to bypass them altogether if you're just working on something like general documentation pages. This target will also launch a preview server to look at the generated site from a local web browser. The URL of the generated preview site is http://localhost:5080/.

website's People

Contributors

admiringworm avatar agc93 avatar augustoproiete avatar bjorkstromm avatar cake-contrib-bot avatar daveaglick avatar devlead avatar gep13 avatar ghuntley avatar hmol avatar jericho avatar jnm2 avatar kjjuno avatar louisfischer avatar marcosnz avatar mgnslndh avatar mihamarkic avatar nalla avatar nils-a avatar pascalberger avatar patridge avatar patriksvensson avatar phillipsj avatar philo avatar pitermarx avatar redth avatar rlittlesii avatar timschps avatar trailmax avatar wallymathieu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

Passing wildcard to MSBuild settings?

Hi,
Is it possible to build specific project files under .sln project and also can exclude one single project ?

The example documentation has 'Run-Unit-tests' task using Nunit3 with wildcard characters and If I use the same thing for the MSBuild settings the build gives an error.

The below one works fine

Task("Run-Unit-Tests")
    .IsDependentOn("Build")
    .Does(() =>
{
    NUnit3("./**/bin/" + configuration + "/*.Tests.dll", new NUnit3Settings {
        NoResults = true
        });
}); 

Issue , it fails here

Task("Build")
    .IsDependentOn("Restore-NuGet-Packages")
    .Does(() =>
{
    if(IsRunningOnWindows())
    {
      // Use MSBuild

      MSBuild("./CakeApp/**/*.csproj", settings =>
        settings.SetConfiguration(configuration));
    }
    else
    {
      // Use XBuild
      XBuild(solutionDirPath, settings =>
        settings.SetConfiguration(configuration));
    }
});

Time Elapsed 00:00:00.38
An error occured when executing task 'Build'.
Error: Illegal characters in directory path (*).
Parameter name: path
PS C:\dev\CakeApp>

Bascially I'm looking to build few projects only in the solution. is it possible?

Many thanks.
Irfan

Not quite correct description of adding aliases

See this page http://cakebuild.net/docs/fundamentals/aliases
when you add your dll to /tools folder - it will get nuked on rebiuld.

Here is description from @gep13 what should be happening there:

within the bootstrapper, we have the concept of doing an MD5 Checksum on the contents of the packages.config file, in order to see if any depenedencies have changed.
if a difference in checksum is detected, or if the checksum file doesn't currently exist, the tools folder gets nuked, and put back together based on the contents of the packages.config file, and any tools/addin pre-processor directives that are contained within the .cake file
since the dll is just "loose" in the tools folder, it doesn't get restored
to work around this, change line 164 of your build.ps1 file to the following Remove-Item * -Recurse -Exclude packages.config,nuget.exe,Cake.SqlServer.dll
and that should get you up and running again

Add Modules section

With the ability to support additional Cake Modules, I think we need an additional section on the site, which allows people to submit information about custom Cake modules, similar to what they can do for Addins.

Incorrect documentation for NuGet

As discussed on Gitter a few days ago the documentation for NuGet appears to be incorrect.

All of the NuGet documentation is currently grouped under the Cake.ExtendedNuGet 3rd Party documentation, including the aliases that are included as a core part of Cake.

The guide is then slightly misleading since it states that you need to use #addin "Cake.ExtendedNuGet" to bring in the NuGet functionality.

Add section for VSO

We currently have information about VSO that is hidden. Add a new section (Build Systems) and add this page here.

How do you pass parameters to build.cake from build.ps1?

My build.cake file has this:

var version = Argument("build_version", "0.9.0-beta");

I'm trying to pass the information to build.ps1:

powershell .\build.ps1 -build_version=%VERSION%

This doesn't seem to work. The documentation talks about cake.exe, but that's some internal exe that I don't use directly, right?

Can you replace the documentation for cake.exe parameters with examples for build.ps1?

Force Push on Develop Branch

Last night, we needed to make a force push onto the develop branch of this repository.

As a result, anyone with an existing fork of this repository will need to update their fork. The following steps can be used to achieve this:

If you haven't already done so, create a remote pointing at this repository:

git remote add upstream https://github.com/cake-build/website.git
git checkout develop
git pull
git fetch upstream -v
git reset --hard upstream/develop
git push -f origin develop

And that should bring your fork up to date with the changes in the develop branch.

People that we know who might be affected by this are:

@ErikSchierboom
@Redth
@marcosnz
@SharpeRAD
@naasking
@jtreuting
@pheiberg

If you have any questions about the above, please reach out to either @patriksvensson, @devlead or myself (@gep13)

Allow addins to be marked as pre-release or beta

As discussed with @gep13 in this issue in one of my repositories, it would be nice if add-ins could be listed but marked as pre-release on the site. My use case is that I have an add-in that definitely falls in the "works on my machine" status. It invokes MAGE.exe for building click-once apps and frankly I'm kind of annoyed we still use click-once so I'm not really going to be spending a ton of time testing every scenario out on it on the weekends.

But it should work. I think others would find value in it, and maybe someone that really loves click-once could test contribute to get it to a 1.0 stage. And the best place for me to get the word out would be the add-in list, but I'd like to set expectations on its current state.

Rewrite "Getting started" guide

The current getting started guide is good and all, but I think the guide "Setting up a new project" is much simpler to really get started.

I think the "Setting up a new project" should be the "Getting started" guide, and instead add some documentation how to write a cake script that can be a nice follow up to the "Getting started" guide.

Feature Request: Search for documentation in the website.

@bibodha commented on Fri Sep 09 2016

I would love to be able to search the documentation from the cakebuild.net website. Currently, to search, I have to go to google, type site:cakebuild.net <search term>. It would be awesome if we can just have a simple google search input field added to the website as a first iteration and see if it needs to be made better.

Problem with Aliases in the Reference Page

I think we have a problem here:

image

We have two built in Aliases for ReSharper:

  • DupFinder
  • InspectCode

and one external Alias from the Cake.ReSharperReports Addin.

The text which is being displayed in the screenshot above, i.e. "Contains aliases related to ReSharperReports API" is coming from the external Addin, same on this page:

image

Not sure how best to handle this, but I thought I would raise it so that we can start a discussion.

Thoughts? @patriksvensson @devlead

Add compelling examples for end users.

It would be awesome if the website would contain some complete and compelling examples for users who are new to Cake.

I have something in my mind like:

  • Build an Android APK and upload to HockeyApp
  • Build a .NET Project with Semantic Versioning and upload artifacts to NuGET
  • Run a bunch of Unit Tests and Upload Test Coverage to coverall.io
  • ...

The samples could may be loaded from a community maintained repo in the cake-contrib organization. This increase the chance that the examples are always up to date.

Add "remedies" for common pitfalls

I had the following troubles when trying to get through the "getting started" guide:

  • The execution policy for powershell was not set ( "Set-ExecutionPolicy RemoteSigned" helped)
  • Had only Powershell 1 installed => weird error message about Join-Path (Powershell 4 helped)

Missing tutorial link

We have a page called extending-the-bootstrapper, but it isn't showing on the site, as it is missing in the docs.xml file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.