github.com/kata-containers/tests@v0.0.0-20240307153542-772105b56064/cmd/check-markdown/heading.go (about)

     1  //
     2  // Copyright (c) 2019 Intel Corporation
     3  //
     4  // SPDX-License-Identifier: Apache-2.0
     5  //
     6  
     7  package main
     8  
     9  import "fmt"
    10  
    11  // newHeading creates a new Heading.
    12  func newHeading(name, mdName string, level int) (Heading, error) {
    13  	if name == "" {
    14  		return Heading{}, fmt.Errorf("heading name cannot be blank")
    15  	}
    16  
    17  	if mdName == "" {
    18  		return Heading{}, fmt.Errorf("heading markdown name cannot be blank")
    19  	}
    20  
    21  	linkName, err := createHeadingID(name)
    22  	if err != nil {
    23  		return Heading{}, err
    24  	}
    25  
    26  	if level < 1 {
    27  		return Heading{}, fmt.Errorf("level needs to be atleast 1")
    28  	}
    29  
    30  	return Heading{
    31  		Name:     name,
    32  		MDName:   mdName,
    33  		LinkName: linkName,
    34  		Level:    level,
    35  	}, nil
    36  }