Initial commit

This commit is contained in:
CyberMages LLC 2025-01-30 18:55:16 -05:00
commit e4eb346606
7 changed files with 220 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Added by cargo
/target

79
.rustfmt.toml Normal file
View File

@ -0,0 +1,79 @@
max_width = 80
hard_tabs = false
tab_spaces = 3
newline_style = "Unix"
indent_style = "Visual"
use_small_heuristics = "Default"
fn_call_width = 60
attr_fn_like_width = 70
struct_lit_width = 18
struct_variant_width = 35
array_width = 60
chain_width = 60
single_line_if_else_max_width = 50
single_line_let_else_max_width = 50
wrap_comments = true
format_code_in_doc_comments = true
doc_comment_code_block_width = 80
comment_width = 80
normalize_comments = true
normalize_doc_attributes = true
format_strings = true
format_macro_matchers = true
format_macro_bodies = true
skip_macro_invocations = []
hex_literal_case = "Preserve"
empty_item_single_line = true
struct_lit_single_line = true
fn_single_line = false
where_single_line = true
imports_indent = "Visual"
imports_layout = "Horizontal"
imports_granularity = "Module"
group_imports = "StdExternalCrate"
reorder_imports = true
reorder_modules = true
reorder_impl_items = true
type_punctuation_density = "Wide"
space_before_colon = false
space_after_colon = true
spaces_around_ranges = false
binop_separator = "Back"
remove_nested_parens = true
combine_control_expr = false
short_array_element_width_threshold = 10
overflow_delimited_expr = false
struct_field_align_threshold = 0
enum_discrim_align_threshold = 0
match_arm_blocks = true
match_arm_leading_pipes = "Never"
force_multiline_blocks = true
fn_params_layout = "Compressed"
brace_style = "AlwaysNextLine"
control_brace_style = "AlwaysNextLine"
trailing_semicolon = true
trailing_comma = "Never"
match_block_trailing_comma = false
blank_lines_upper_bound = 3
blank_lines_lower_bound = 0
edition = "2021"
style_edition = "2021"
inline_attribute_width = 0
format_generated_files = true
generated_marker_line_search_limit = 5
merge_derives = true
use_try_shorthand = false
use_field_init_shorthand = false
force_explicit_abi = true
condense_wildcard_suffixes = false
color = "Always"
required_version = "1.8.0"
unstable_features = true
disable_all_formatting = false
skip_children = false
show_parse_errors = true
error_on_line_overflow = false
error_on_unformatted = false
ignore = []
emit_mode = "Files"
make_backup = false

13
Cargo.toml Normal file
View File

@ -0,0 +1,13 @@
[package]
name = "runecarver"
version = "0.0.0"
edition = "2021"
description = "A static website generator."
repository = "/CyberMages/runecarver"
authors = ["CyberMages LLC <Software@CyberMagesLLC.com>", "Jason Travis Smith <Myrddin@CyberMages.tech>"]
readme = "README.md"
license-file = "LICENSE.md"
[dependencies]

69
LICENSE.md Normal file
View File

@ -0,0 +1,69 @@
Copyright (c) <2025> CyberMages LLC
Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:
1. Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
Subject to the terms and conditions of this license, each
copyright holder and contributor hereby grants to those
receiving rights under this license a perpetual,
worldwide, non-exclusive, no-charge, royalty-free,
irrevocable (except for failure to satisfy the conditions
of this license) patent license to make, have made, use,
offer to sell, sell, import, and otherwise transfer this
software, where such license applies only to those patent
claims, already acquired or hereafter acquired, licensable
by such copyright holder or contributor that are
necessarily infringed by:
(a) their Contribution(s) (the licensed copyrights of
copyright holders and non-copyrightable additions
of contributors, in source or binary form) alone;
-- or --
(b) combination of their Contribution(s) with the work
of authorship to which such Contribution(s) was
added by such copyright holder or contributor, if,
at the time the Contribution is added, such
addition causes such combination to be necessarily
infringed. The patent license shall not apply to
any other combinations which include the
Contribution.
Except as expressly stated above, no rights or licenses
from any copyright holder or contributor is granted under
this license, whether expressly, by implication, estoppel
or otherwise.
DISCLAIMER
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
YOU ACKNOWLEDGE THAT THIS SOFTWARE IS NOT DESIGNED,
LICENSED OR INTENDED FOR USE IN THE DESIGN, CONSTRUCTION,
OPERATION OR MAINTENANCE OF ANY MILITARY FACILITY OR
RELIGIOUS INSTITUTION.

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# runecarver
A static website generator.

20
src/main.rs Normal file
View File

@ -0,0 +1,20 @@
//! A static website generator.
mod project;
/// Print the version of the project.
fn print_version()
{
println!("{} v{}", project::get_name(), project::get_version());
}
/// The usual starting point of your project.
fn main()
{
print_version();
}

33
src/project.rs Normal file
View File

@ -0,0 +1,33 @@
//! This is where the Projects build information can be retreived from.
/// The environment variable defined by Cargo for the name.
const NAME: Option<&str> = option_env!("CARGO_PKG_NAME");
/// The environment variable defined by Cargo for the version.
const VERSION: Option<&str> = option_env!("CARGO_PKG_VERSION");
/// The string to display if a value is not defined during compile time.
const NOT_DEFINED: &'static str = "UNDEFINED";
/// Returns the name of the program as defined by the CARGO_PKG_NAME. This is
/// set at compile time and comes from the Cargo.toml file.
///
/// If a value is not found, then it will return the not defined value.
pub fn get_name() -> &'static str
{
NAME.unwrap_or(NOT_DEFINED)
}
/// Returns the name of the program as defined by the CARGO_PKG_VERSION. This is
/// set at compile time and comes from the Cargo.toml file.
///
/// If a value is not found, then it will return the not defined value.
pub fn get_version() -> &'static str
{
VERSION.unwrap_or(NOT_DEFINED)
}