mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 19:38:23 +00:00 
			
		
		
		
	* upgrade to most recent bluemonday * make vendor * update tests for bluemonday * update tests for bluemonday * update tests for bluemonday
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package css
 | |
| 
 | |
| import "fmt"
 | |
| 
 | |
| // Declaration represents a parsed style property
 | |
| type Declaration struct {
 | |
| 	Property  string
 | |
| 	Value     string
 | |
| 	Important bool
 | |
| }
 | |
| 
 | |
| // NewDeclaration instanciates a new Declaration
 | |
| func NewDeclaration() *Declaration {
 | |
| 	return &Declaration{}
 | |
| }
 | |
| 
 | |
| // Returns string representation of the Declaration
 | |
| func (decl *Declaration) String() string {
 | |
| 	return decl.StringWithImportant(true)
 | |
| }
 | |
| 
 | |
| // StringWithImportant returns string representation with optional !important part
 | |
| func (decl *Declaration) StringWithImportant(option bool) string {
 | |
| 	result := fmt.Sprintf("%s: %s", decl.Property, decl.Value)
 | |
| 
 | |
| 	if option && decl.Important {
 | |
| 		result += " !important"
 | |
| 	}
 | |
| 
 | |
| 	result += ";"
 | |
| 
 | |
| 	return result
 | |
| }
 | |
| 
 | |
| // Equal returns true if both Declarations are equals
 | |
| func (decl *Declaration) Equal(other *Declaration) bool {
 | |
| 	return (decl.Property == other.Property) && (decl.Value == other.Value) && (decl.Important == other.Important)
 | |
| }
 | |
| 
 | |
| //
 | |
| // DeclarationsByProperty
 | |
| //
 | |
| 
 | |
| // DeclarationsByProperty represents sortable style declarations
 | |
| type DeclarationsByProperty []*Declaration
 | |
| 
 | |
| // Implements sort.Interface
 | |
| func (declarations DeclarationsByProperty) Len() int {
 | |
| 	return len(declarations)
 | |
| }
 | |
| 
 | |
| // Implements sort.Interface
 | |
| func (declarations DeclarationsByProperty) Swap(i, j int) {
 | |
| 	declarations[i], declarations[j] = declarations[j], declarations[i]
 | |
| }
 | |
| 
 | |
| // Implements sort.Interface
 | |
| func (declarations DeclarationsByProperty) Less(i, j int) bool {
 | |
| 	return declarations[i].Property < declarations[j].Property
 | |
| }
 |