Code Monkey home page Code Monkey logo

anytype's Introduction

AnyType

Templates, and ready-to-use go lang source files - generated with dotgo.

Software License Go Report Card Build Status GoDoc

Important: This repo is not intended to be cloned (or go get) - it will just clobber Your disk.

Just focus on what's useful to You - and better: learn how to generate :-)

Hint: Before You shame or blame me for something: I might do so myself already! So, peek here before You waste Your precious time & energy.

Subjects

This repo provides it's subjects (projects) in it's immediate subdirectories:

  • chan - Gain concurrency - use go-channels for piping (and more)
  • pile - A concurrency-safe growing-only first-in-first-out (FIFO) cached collection of things - with a simple (single-thread) iterator
  • ... more to come soon

Directories

Each directory has many subdirectories.

Most contain 'target directories' for the generation and thus become ready-to-use go packages, accessed e.g. via

  go get github.com/GoLangsam/AnyType/chan/sss/test

or

  go get github.com/GoLangsam/AnyType/chan/sss/standard/io

Documentation

You'll find many *.md files - such as this one.

They may help to understand how these simple, selfcontained and ready-to-use go packages came into existence.

Hint: The sources in the packages are documented - You may use go doc.

The *.md documenation is mostly meta and may give better background for underlying desing principles and concepts.

Happy reading :-)

Mind You: Simplicity is complicated :-)

Templates

You'll find templates such as

  • dot.go.tmpl - in target directories
  • *.dot.go.tmpl - in subject directories
  • other *.tmpl - all the way down into sub-subject directories
dot.go.tmpl - in target directories
  • Required to exist in any target directory (otherwise, dotgo would not write output; a security measure)
  • Defines context for a target directory - we keep data close to results.
*.dot.go.tmpl - in subject directories
  • Defines files (and their basename) to be generated into some target directory.
other `*.tmpl - all the way down into sub-subject directories
  • Define further portions / subtemplates.

Hint: Especially *{{.}}*.tmpl are usually just simple go code sniplets.

They are the meat here, where the architecture are the bones.

Source files

Well, it's about go. So we have

*.go - ready-to-use compilable packages

It started as a proof-of-concept, and grows into a ready-to-use collection which directly extends the standard package, and even beyond.

*.ugo - ugly go souces

Results generated from the templates - still ugly, before the pass thru gofmt.

You may ignore them, or diff them agains their *.go twin in order to see the templates and sniplets to be well formated.


Hint:

  • If You like it: smile.
  • If You don't: smile anyway - You'll be (a little more) happy - may be.

Mind You: the work done here is for You!.
For You - to be a Happy Gopher!

So: be a Happy Gopher!


License

This project is licensed under the MIT general use license. You're free to integrate, fork, and play with this code as you feel fit without consulting the author, as long as you provide proper credit to the author in your works.

anytype's People

Contributors

golangsam avatar

Watchers

 avatar  avatar  avatar

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.