Coder Social home page Coder Social logo

together-java / modernjava Goto Github PK

View Code? Open in Web Editor NEW
31.0 31.0 17.0 3.23 MB

Book teaching how to write modern and effective Java. It is maintained by the community, anyone can contribute.

Home Page: https://together-java.github.io/ModernJava/

License: Apache License 2.0

JavaScript 86.30% CSS 8.44% Handlebars 5.26%
beginner-friendly book community-project first-timers-friendly java mdbook modern-java

modernjava's People

Contributors

aln-chg avatar bowbahdoe avatar marko-radosavljevic avatar s-hassanin avatar slovdahl avatar vitorlany avatar zabuzard 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

Watchers

 avatar  avatar  avatar  avatar  avatar

modernjava's Issues

Fix Linter issues

We just added a linter and it reports a lot of issues (obviously):

linter

We should go through them and fix the issues and adjust the config file to our needs while doing so.

Fix example on Operator Precedance

Folder: 6. Integers / 6.9. Operator Precedance

I noticed the following problems on example in this section:

  • On "Following the order of operations:" we don't have a previous operation (without started).
  • On the last operation "19 - 7", "7" was not in operation, maybe it had a mistake.

Auto-deployment to gh-pages

Initially, we use gh-pages to publish our website (https://together-java.github.io/ModernJava/). This is automatically deployed from the gh-pages branch.

Currently, we tried using an existing gh-action that, on pushes to master, builds the book and pushes it to the gh-pages branch. For some reason, the action fails:

https://github.com/Together-Java/ModernJava/actions/runs/3891853695
errors

Either we investigate and fix the action, or we do it ourselves. mdBook actually has a guide for this: https://github.com/rust-lang/mdBook/wiki/Automated-Deployment%3A-GitHub-Pages

But essentially, all that has to be done is:

  • download the mdbook CLI tool
  • run mdbook build
  • publish the content in book/ into gh-pages (a bit annoying, since the working tree has to be changed to there)

Finish section about classes

Pull request closing this issue should contain explanations of these topics

  • What is a class
  • How to declare a class
  • Class naming conventions
  • How to construct an object of a class
    • Constructors

Find and add some useful workflows to the pipeline

There are for sure some useful GH-actions workflows out there, which we could add to our pipeline (besides deploying the website).

Some things that come to my mind would be:

  • spelling/grammar checking
  • markdown validation/linter (sonar? codeql? codefactor? ...)
  • markdown formatting (spotless? ...)
  • dead link checker
  • (if possibly, some sort of code checking on snippets)
  • maybe more?

Get a proper domain

Eventually, this book should be accessibly nicely via Google and by externals. Therefore, we should secure ourselves a proper domain and then publish the book there.

For example: modernjava.org or similar.

(please refrain from purchasing this privately, this would harm our project - we have to purchase it with our open-collective account: https://opencollective.com/together-java)

Make nested preprocessor IFs work

Added a basic preprocessor, but it will misbehave if conditions are nested. That isn't a problem right now but it might be worth tackling before someone foot guns

Create better logo

The current logo was just quickly hacked together:

modern_java_logo

We can probably make sth nicer.

Write initial documentation

The Wiki, currently empty, needs some basic intro pages, such as

We also need to adjust the README.md file:

  • quick intro what it is
  • guide for readers
  • guide for writers
  • entry point to the Wiki ...

Fix codebox format

Pretty much all codeboxes in 'src/boxed_primitives' are not formatted correctly.

Instead of:

void main() {
     Boolean b = null;
     System.out.println(b);
     b = true;
     System.out.println(true);
}

They are formatted without the tab before new line in method body:

void main() {
Boolean b = null;
System.out.println(b);
b = true;
System.out.println(true);
}

This is just ugly and bad for readability.

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.