Creating Custom Drupal Templates: Step-by-Step Tutorials

it courses

Welcome to the "Creating Custom Drupal Templates: Step by Step Tutorials" guide! This comprehensive tutorial is designed to help both beginners and experienced developers learn how to create and customize Drupal templates. Drupal is a powerful, open-source content management system (CMS) that allows you to build and manage websites with ease. By mastering the art of custom template creation, you'll unlock a world of possibilities for your Drupal projects.

In this tutorial, we'll cover the basics of Drupal template development, step by step, so you can easily get started with your own custom templates. We'll explore various aspects of template creation, including folder structures, theme settings, and template files, to ensure you have a solid foundation for building custom Drupal templates.

Table of Contents

Throughout this learning journey, we'll be using essential keywords like "tutorial", "template", "Drupal", "learn", "learning", "get started", and "beginners" to guide you through the process. Our aim is to provide you with a clear understanding of custom template creation in Drupal, enabling you to create unique and engaging websites for your projects. So, let's dive in and get started on this exciting learning adventure!

Introduction to Drupal Templates

Welcome to the first tutorial of our "Creating Custom Drupal Templates: Step by Step Tutorials"! Before we dive into the nitty-gritty of custom template development, it's essential to understand what Drupal templates are and why they are crucial for your website.

Drupal templates, also known as themes, are the visual building blocks that define the look and feel of your website. They consist of a collection of files that control the layout, design, and presentation of your site's content. By mastering custom template creation, you'll be able to craft unique and engaging web experiences that truly stand out from the crowd.

Creating a custom Drupal template might seem like a daunting task at first, but rest assured, we're here to guide you through every step of the process. With the right approach and our easy-to-follow tutorial, you'll soon find yourself on the path to becoming a Drupal template expert. So don't be intimidated – embrace the challenge and remember that every great developer starts somewhere.

This tutorial is designed with you in mind. We've carefully structured it to ensure a smooth and enjoyable learning experience, with ample opportunities to practice and build your skills along the way. As you progress through each tutorial, you'll gain valuable insights and knowledge that will help you grow as a Drupal developer.

Always remember that patience and persistence are key. Learning new skills can be challenging, but the rewards are well worth the effort. Keep going, and never hesitate to ask questions or seek help when needed. The Drupal community is full of supportive and knowledgeable individuals who are eager to lend a hand.

So take a deep breath, and let's embark on this exciting journey together. The world of custom Drupal templates awaits!

Setting Up Your Development Environment

In this tutorial, we will guide you through the process of setting up your development environment for creating custom Drupal templates. Having a well-configured environment is crucial for a smooth and efficient development process. It will help you easily test and debug your templates while ensuring compatibility with Drupal.

Step 1: Install a local web server

To develop and test your custom Drupal templates, you'll need a local web server. There are various options available, such as XAMPP, WAMP, and MAMP. Choose the one that best suits your operating system (Windows, macOS, or Linux). Follow the instructions provided by the software to install and configure the web server on your machine.

Step 2: Install Drupal

Once your local web server is up and running, download the latest version of Drupal from the official website. Extract the files into a new folder within your web server's document root (e.g., htdocs for XAMPP). Next, create a new database for your Drupal installation using a tool like phpMyAdmin. Follow the Drupal installation guide to complete the setup process.

Step 3: Choose a code editor

A good code editor is essential for an efficient development workflow. There are numerous code editors available, such as Visual Studio Code, Sublime Text, and Atom. Choose the one that best fits your needs and preferences. Make sure to install relevant extensions or plugins that support Drupal development, such as syntax highlighting, code completion, and debugging tools.

Step 4: Install Drupal Console and Drush

Drupal Console and Drush are command-line tools that will help streamline your development process. They enable you to perform tasks like clearing cache, generating boilerplate code, and updating the database schema. To install Drupal Console, follow the instructions on the official website. For Drush, refer to the installation guide on the Drush GitHub repository.

With these steps completed, your development environment is now ready for custom Drupal template development! Keep in mind that as you progress in your learning journey, you may discover additional tools and configurations that suit your unique workflow. Always be open to exploring new ways to enhance your development process and make it even more efficient. In the next tutorial, we will dive into creating a custom theme folder and info file for your Drupal template.

Creating a Custom Theme Folder and Info File

In this tutorial, we will walk you through the process of creating a custom theme folder and the essential info file required for your Drupal template. This will lay the foundation for your custom template and help Drupal recognize your theme.

Step 1: Create a custom theme folder

To get started, navigate to the "themes" directory in your Drupal installation (located at your-drupal-root/themes). Create a new folder with a descriptive name for your custom theme, using lowercase letters and underscores (e.g., my_custom_theme). This folder will house all the files related to your custom template.

Step 2: Create an info file

Inside your custom theme folder, create a new file with the same name as your theme folder and a .info.yml extension (e.g., my_custom_theme.info.yml). This file provides Drupal with essential information about your theme, such as its name, description, and version.

Open the info file in your code editor and add the following basic structure:

name: 'My Custom Theme'
type: theme
description: 'A custom Drupal template created from scratch.'
core_version_requirement: ^8 || ^9
base theme: stable

Replace 'My Custom Theme' and 'A custom Drupal template created from scratch.' with your desired theme name and description. The core_version_requirement field indicates the compatible Drupal core versions, while base theme specifies the parent theme, which is typically set to "stable" for most custom themes.

Step 3: Configure theme regions

Regions are defined areas in your template where you can place content blocks. To define custom regions for your theme, add a regions section to your .info.yml file. For example:

regions:
  header: 'Header'
  primary_menu: 'Primary Menu'
  secondary_menu: 'Secondary Menu'
  content: 'Content'
  sidebar_first: 'Sidebar First'
  sidebar_second: 'Sidebar Second'
  footer: 'Footer'

These region names can be customized according to your desired layout and design.

Step 4: Enable your custom theme

After setting up your theme folder and info file, navigate to the Drupal admin interface (your-drupal-root/admin). Go to "Appearance" and locate your custom theme in the list. Click "Install and set as default" to enable your theme.

Congratulations! You have successfully created a custom theme folder and info file for your Drupal template. In the next tutorial, we will explore Drupal template files and theme hooks to help you further customize your theme.

Understanding Drupal Template Files and Theme Hooks

In this tutorial, we will delve into the world of Drupal template files and theme hooks. These components play a crucial role in shaping your custom template, enabling you to control the layout and presentation of your site's content.

Template Files

Drupal template files are Twig files (with the .html.twig extension) that determine the structure and markup of various components on your site, such as pages, nodes, blocks, and fields. The Twig templating engine offers a powerful yet straightforward syntax for writing HTML templates with dynamic content.

To customize a template file in your theme, first, identify the base template you want to override from Drupal core or your parent theme. Copy the file to your custom theme folder and modify it as needed. Drupal will automatically use your custom template file instead of the default one.

For example, if you want to customize the page template, copy page.html.twig from your parent theme or the core/themes/classy/templates/layout folder to your custom theme folder. Then, edit the file to adjust the structure and markup of your pages.

Theme Hooks

Theme hooks are functions that allow you to modify or extend the default behavior of Drupal themes. They can be implemented in your theme's .theme file (e.g., my_custom_theme.theme). There are two main types of theme hooks:

  1. Preprocess hooks are used to manipulate variables before they are passed to a template file. They follow the naming convention THEME_NAME_preprocess_HOOK, where THEME_NAME is your theme's machine name and HOOK is the target component (e.g., page, node, or block).

For example, to add a custom variable to the page template, you can create a preprocess hook like this:

function my_custom_theme_preprocess_page(&$variables) {
  $variables['custom_variable'] = 'Hello, world!';
}

Then, you can access this variable in your page.html.twig file using {{ custom_variable }}.

  1. Theme hook suggestions allow you to create more specific template files for different instances of a component. For example, you can create a separate node template for each content type by adding a theme hook suggestion in a preprocess hook:
    function my_custom_theme_preprocess_node(&$variables) {
      $node = $variables['node'];
      $variables['theme_hook_suggestions'][] = 'node__' . $node->getType();
    }
    

This code appends a suggestion to the theme_hook_suggestions array based on the content type, allowing you to create custom node templates like node--article.html.twig and node--page.html.twig.

By mastering template files and theme hooks, you'll gain greater control over your Drupal template's appearance and functionality. In the next tutorial, we will discuss customizing page layouts and regions to further enhance your theme's design.

Customizing Page Layouts and Regions

In this tutorial, we will explore customizing page layouts and regions for your custom Drupal template. Page layouts define the structure of your site, while regions are designated areas where you can place content blocks. By tailoring these components, you can create a unique look and feel for your website.

Step 1: Plan your layout

Before diving into the code, take a moment to plan your desired page layout. Sketch out the structure and identify the regions you want to include, such as header, footer, sidebars, and content areas. This will serve as a blueprint for implementing your layout in code.

Step 2: Modify the page template

To customize your page layout, open the page.html.twig file in your custom theme folder (refer to tutorial 4 if you haven't created this file yet). Update the markup to match your planned layout, making sure to include the appropriate Twig tags for each region.

For example, if you want to add a sidebar to the left of your main content area, you can modify your template like this:

<div class="page-wrapper">
  <header>
    {{ page.header }}
  </header>

  <div class="main-content">
    {% if page.sidebar_first %}
      <aside class="sidebar-first">
        {{ page.sidebar_first }}
      </aside>
    {% endif %}

    <section class="content">
      {{ page.content }}
    </section>
  </div>

  <footer>
    {{ page.footer }}
  </footer>
</div>
 

The {% if %} statement checks if the sidebar_first region has content before rendering it. This ensures that the sidebar is only displayed when it contains blocks.

Step 3: Update your info file

Make sure your .info.yml file reflects the regions you defined in your layout. If you added new regions or modified existing ones, update the regions section accordingly (refer to tutorial 3 for more information).

Step 4: Configure blocks

Once you've updated your layout and regions, you can assign content blocks to them through the Drupal admin interface. Navigate to your-drupal-root/admin/structure/block, where you can manage the blocks for your custom theme. Assign blocks to the appropriate regions by clicking "Place block" and configuring the block settings.

Step 5: Style your layout

With your layout and regions in place, apply CSS styling to fine-tune the appearance of your custom template. Create a stylesheet in your theme folder (e.g., styles.css) and link it in your .info.yml file using the stylesheets section:

stylesheets:
  all:
    - css/styles.css

Now you can write CSS rules in your styles.css file to style your layout and regions as desired.

Congratulations! You have successfully customized the page layout and regions of your custom Drupal template. In the next tutorial, we will cover styling your Drupal template with CSS to achieve a polished and professional look.

Styling Your Drupal Template with CSS

In this tutorial, we will discuss styling your custom Drupal template using CSS. Proper styling enhances the appearance and user experience of your website, ensuring it looks polished and professional.

Step 1: Organize your CSS files

Organizing your CSS files in a coherent and structured manner makes it easier to maintain your styles and collaborate with other developers. Create a dedicated css folder within your custom theme folder to store your stylesheets. You can further organize your stylesheets by creating subfolders for components, layouts, and utilities.

For example:

  • css/base/: Contains base styles and resets.
  • css/components/: Contains styles for individual components, such as buttons, forms, and headings.
  • css/layouts/: Contains styles for layouts and regions.
  • css/utilities/: Contains utility classes and helper styles.

Step 2: Link your stylesheets in the info file

In your custom theme's .info.yml file, link your stylesheets using the stylesheets section. This tells Drupal to include your stylesheets when rendering the theme. For example:

stylesheets:
  all:
    - css/base/reset.css
    - css/base/typography.css
    - css/components/buttons.css
    - css/layouts/header.css
    - css/layouts/footer.css
    - css/utilities/margins.css

Step 3: Write your CSS styles

Write your CSS styles in the corresponding stylesheets. Keep your styles modular and easy to maintain by adhering to the following principles:

  • Use descriptive class names that clearly indicate the purpose of the style.
  • Follow a consistent naming convention, such as BEM (Block, Element, Modifier).
  • Group related styles together and use comments to provide context and organization.
  • Minimize the use of nested selectors and avoid overly specific styles that are hard to override.
  • Use variables for shared values, such as colors, fonts, and spacing, to ensure consistency and easy updates.

Step 4: Apply your styles to your template files

In your custom Drupal template files (e.g., .html.twig files), apply your CSS styles by adding the appropriate class names to the HTML elements. For example:

<header class="site-header">
  {{ page.header }}
</header>

<main class="site-main">
  {{ page.content }}
</main>

<footer class="site-footer">
  {{ page.footer }}
</footer>

Step 5: Test your styles

Test your styles across various devices, browsers, and screen sizes to ensure they render correctly and provide a consistent user experience. Use browser developer tools to inspect and debug your styles, making adjustments as needed.

By following these steps, you'll create a custom Drupal template that looks polished and professional. In the next tutorial, we will cover adding JavaScript to your Drupal template to add interactivity and enhance the user experience.

Adding JavaScript to Your Drupal Template

In this tutorial, we will discuss adding JavaScript to your custom Drupal template to enhance interactivity and user experience. JavaScript can be used to create dynamic content, handle user input, and manipulate page elements.

Step 1: Organize your JavaScript files

Similar to organizing your CSS files, it's essential to maintain a structured and organized approach to your JavaScript files. Create a dedicated js folder within your custom theme folder to store your JavaScript files. You can further organize your scripts by creating subfolders for components, utilities, and libraries.

For example:

  • js/components/: Contains scripts for individual components, such as accordions, sliders, and navigation.
  • js/utilities/: Contains utility functions and helper scripts.
  • js/libraries/: Contains third-party libraries and plugins, such as jQuery or Bootstrap.

Step 2: Link your JavaScript files in the info file

In your custom theme's .info.yml file, link your JavaScript files using the libraries section. First, create a new library in the my_custom_theme.libraries.yml file, which should be located in your custom theme folder:

global-styling:
  css:
    theme:
      css/styles.css: {}
  js:
    js/main.js: {}
  dependencies:
    - core/jquery
    - core/drupal
    - core/drupalSettings

Then, add this library to your .info.yml file:

libraries:
  - my_custom_theme/global-styling

This tells Drupal to include your JavaScript files when rendering the theme. The dependencies key lists any external libraries your scripts depend on, such as jQuery or Drupal core.

Step 3: Write your JavaScript

Write your JavaScript code in the corresponding files, keeping your code modular and easy to maintain. Adhere to the following principles:

  • Use descriptive function and variable names that clearly indicate their purpose.
  • Group related functions together in objects or modules to provide structure and organization.
  • Keep your code DRY (Don't Repeat Yourself) by reusing functions and modularizing common tasks.
  • Utilize Drupal's JavaScript APIs and conventions, such as using Drupal.behaviors to attach your scripts to page elements.

Step 4: Apply your JavaScript to your template files

In your custom Drupal template files (e.g., .html.twig files), apply your JavaScript by adding the appropriate event listeners, attributes, or data attributes to the HTML elements. For example:

<button class="menu-toggle" data-toggle="menu">
  Menu
</button>

<nav class="main-navigation" data-menu>
  {{ page.primary_menu }}
</nav>

Step 5: Test your JavaScript

Test your JavaScript across various devices, browsers, and screen sizes to ensure it functions correctly and provides a consistent user experience. Use browser developer tools to inspect, debug, and profile your scripts, making adjustments as needed.

By following these steps, you'll add interactivity and enhance the user experience of your custom Drupal template. In the next and final tutorial, we will discuss optimizing and testing your custom template to ensure top performance and compatibility.

Optimizing and Testing Your Custom Drupal Template

In this final tutorial, we will discuss optimizing and testing your custom Drupal template to ensure top performance and compatibility across devices and browsers. A well-optimized and thoroughly tested template ensures a smooth and enjoyable user experience for your site visitors.

Step 1: Optimize your CSS and JavaScript

Optimizing your CSS and JavaScript files can significantly improve your site's performance by reducing file sizes and minimizing render-blocking resources. Some optimization techniques include:

  • Minifying your files by removing whitespace, comments, and unnecessary characters.
  • Combining multiple files into a single file to reduce HTTP requests.
  • Using compression algorithms, such as Gzip, to reduce file sizes during transmission.
  • Leveraging browser caching to store static assets locally and minimize download times.

Step 2: Optimize images and media

Optimizing images and media files is crucial for improving your site's performance and reducing loading times, especially on slower connections or mobile devices. Some optimization techniques include:

  • Compressing images using lossless or lossy compression algorithms, such as WebP or JPEG.
  • Using responsive images to serve appropriately sized images based on the user's screen size.
  • Lazy-loading images and media files to defer loading until they are needed.

Step 3: Test your template across devices and browsers

To ensure your custom Drupal template is compatible with various devices and browsers, test it extensively across different screen sizes, resolutions, and operating systems. Some testing methods include:

  • Manual testing by resizing your browser window or using device emulators in your browser's developer tools.
  • Using online tools or services, such as BrowserStack or Sauce Labs, to test your template on real devices and browsers.
  • Setting up a device lab with various smartphones, tablets, and computers to test your template in real-world conditions.

Step 4: Test for accessibility

Accessibility testing ensures that your custom Drupal template is usable by people with disabilities, such as vision impairments, hearing impairments, or cognitive limitations. Some accessibility testing methods include:

  • Using automated tools, such as axe or Lighthouse, to identify and fix accessibility issues in your template.
  • Testing your template with assistive technologies, such as screen readers, keyboard navigation, or voice recognition software.
  • Consulting the Web Content Accessibility Guidelines (WCAG) to ensure your template meets the required accessibility standards.

Step 5: Performance testing

Performance testing involves measuring your site's speed and responsiveness under various conditions to identify bottlenecks and potential improvements. Some performance testing methods include:

  • Using online tools, such as Lighthouse, PageSpeed Insights, or WebPageTest, to analyze your site's performance and receive optimization suggestions.
  • Simulating high traffic loads using load testing tools, such as Apache JMeter or LoadRunner, to identify performance issues and ensure your site can handle increased demand.

By optimizing and testing your custom Drupal template, you'll ensure a seamless, enjoyable experience for your site visitors. Congratulations! You have successfully completed the "Creating Custom Drupal Template: Step by Step Tutorials" series. Now you have the skills and knowledge to create and maintain custom Drupal templates for your projects. Happy theming!

Creating Custom Drupal Templates: Step-by-Step Tutorials PDF eBooks

PowerPoint 2010: Custom Animations

The PowerPoint 2010: Custom Animations is a beginner level PDF e-book tutorial or course with 13 pages. It was added on October 16, 2015 and has been downloaded 2252 times. The file size is 347.1 KB. It was created by Kennesaw State University.


The Ultimate Guide to Drupal 8

The The Ultimate Guide to Drupal 8 is a beginner level PDF e-book tutorial or course with 56 pages. It was added on April 5, 2023 and has been downloaded 140 times. The file size is 3.07 MB. It was created by Acquia.


Digital Marketing Step-By-Step

The Digital Marketing Step-By-Step is a beginner level PDF e-book tutorial or course with 43 pages. It was added on April 5, 2023 and has been downloaded 398 times. The file size is 709.22 KB. It was created by ondrej Svoboda.


How to Build a Computer from Scratch

The How to Build a Computer from Scratch is a beginner level PDF e-book tutorial or course with 35 pages. It was added on November 23, 2017 and has been downloaded 9357 times. The file size is 716.51 KB. It was created by Whitson Gordon.


Oracle 11g Express installation guide

The Oracle 11g Express installation guide is a beginner level PDF e-book tutorial or course with 19 pages. It was added on October 14, 2015 and has been downloaded 2863 times. The file size is 848.64 KB. It was created by Professor Chen.


Office 365 Deployment Step by Step

The Office 365 Deployment Step by Step is an intermediate level PDF e-book tutorial or course with 31 pages. It was added on October 1, 2015 and has been downloaded 6148 times. The file size is 430.25 KB. It was created by Microsoft.


How to Install SQL Server 2008

The How to Install SQL Server 2008 is a beginner level PDF e-book tutorial or course with 32 pages. It was added on December 13, 2012 and has been downloaded 2526 times. The file size is 980.83 KB. It was created by unknown.


Data Dashboards Using Excel and MS Word

The Data Dashboards Using Excel and MS Word is an intermediate level PDF e-book tutorial or course with 48 pages. It was added on January 21, 2016 and has been downloaded 11527 times. The file size is 1.71 MB. It was created by Dr. Rosemarie O’Conner and Gabriel Hartmann.


JavaScript Front-End Web App Tutorial Part 1

The JavaScript Front-End Web App Tutorial Part 1 is a beginner level PDF e-book tutorial or course with 48 pages. It was added on February 28, 2016 and has been downloaded 3966 times. The file size is 450.66 KB. It was created by Gerd Wagner.


MS Excel Using the IF Function

The MS Excel Using the IF Function is a beginner level PDF e-book tutorial or course with 11 pages. It was added on September 21, 2017 and has been downloaded 8077 times. The file size is 373.29 KB. It was created by TTC.


Web API Design: The Missing Link

The Web API Design: The Missing Link is a beginner level PDF e-book tutorial or course with 65 pages. It was added on March 20, 2023 and has been downloaded 191 times. The file size is 419.13 KB. It was created by google cloud.


Introduction to Spring MVC

The Introduction to Spring MVC is a beginner level PDF e-book tutorial or course with 68 pages. It was added on December 30, 2016 and has been downloaded 3910 times. The file size is 616.87 KB. It was created by Thomas Risberg, Rick Evans, Portia Tung.


Microsoft Excel 2010: Step-by-Step Guide

The Microsoft Excel 2010: Step-by-Step Guide is a beginner level PDF e-book tutorial or course with 75 pages. It was added on June 22, 2016 and has been downloaded 14106 times. The file size is 2.41 MB. It was created by Andrea Philo - Mike Angstadt.


A practical guide to home automation

The A practical guide to home automation is a beginner level PDF e-book tutorial or course with 26 pages. It was added on February 3, 2023 and has been downloaded 293 times. The file size is 910.87 KB. It was created by STEVE OVENS.


Oracle 10g R2 and 11g R2 Installation Guide

The Oracle 10g R2 and 11g R2 Installation Guide is a beginner level PDF e-book tutorial or course with 59 pages. It was added on October 4, 2016 and has been downloaded 1919 times. The file size is 1.78 MB. It was created by Robert Schudy - Boston University.


Using Flutter framework

The Using Flutter framework is a beginner level PDF e-book tutorial or course with 50 pages. It was added on April 2, 2021 and has been downloaded 2926 times. The file size is 384.56 KB. It was created by Miroslav Mikolaj.


Creating a Website with Publisher 2016

The Creating a Website with Publisher 2016 is a beginner level PDF e-book tutorial or course with 45 pages. It was added on March 23, 2017 and has been downloaded 9951 times. The file size is 1.51 MB. It was created by Kennesaw State University.


Introduction to Visual Basic.NET

The Introduction to Visual Basic.NET is a beginner level PDF e-book tutorial or course with 66 pages. It was added on December 8, 2012 and has been downloaded 12041 times. The file size is 1.63 MB. It was created by Abel Angel Rodriguez.


Procreate: Actions & Animation

The Procreate: Actions & Animation is a beginner level PDF e-book tutorial or course with 33 pages. It was added on April 4, 2023 and has been downloaded 444 times. The file size is 2.25 MB. It was created by Procreate.


Beginning Excel 2019

The Beginning Excel 2019 is a beginner level PDF e-book tutorial or course with 225 pages. It was added on December 9, 2021 and has been downloaded 30570 times. The file size is 7.88 MB. It was created by Noreen Brown, Barbara Lave, Hallie Puncochar, Julie Romey, Mary Schatz, Art Schneider, and Diane Shingledecker.


A Guide to Java Serverless Functions

The A Guide to Java Serverless Functions is a beginner level PDF e-book tutorial or course with 18 pages. It was added on February 2, 2023 and has been downloaded 76 times. The file size is 462.53 KB. It was created by DANIEL OH.


Excel 2016 - Intro to Formulas & Basic Functions

The Excel 2016 - Intro to Formulas & Basic Functions is an intermediate level PDF e-book tutorial or course with 15 pages. It was added on September 1, 2016 and has been downloaded 13872 times. The file size is 434.9 KB. It was created by Kennesaw State University.


Microsoft Outlook Advanced

The Microsoft Outlook Advanced is a beginner level PDF e-book tutorial or course with 30 pages. It was added on December 10, 2013 and has been downloaded 14428 times. The file size is 881.53 KB. It was created by Charles Sturt University.


Word 2016 - Formatting your Document

The Word 2016 - Formatting your Document is a beginner level PDF e-book tutorial or course with 26 pages. It was added on September 19, 2016 and has been downloaded 5548 times. The file size is 1.14 MB. It was created by Kennesaw State University.


ASP.NET MVC Music Store

The ASP.NET MVC Music Store is a beginner level PDF e-book tutorial or course with 136 pages. It was added on February 29, 2016 and has been downloaded 4948 times. The file size is 3.05 MB. It was created by Jon Galloway - Microsoft.


Visual Basic

The Visual Basic is a beginner level PDF e-book tutorial or course with 260 pages. It was added on October 16, 2014 and has been downloaded 42652 times. The file size is 1.15 MB. It was created by wikibooks.


Web application development with Laravel PHP Framework

The Web application development with Laravel PHP Framework is an intermediate level PDF e-book tutorial or course with 58 pages. It was added on October 3, 2015 and has been downloaded 27987 times. The file size is 1.46 MB. It was created by Jamal Armel.


Adobe InDesign CS6 Tutorial

The Adobe InDesign CS6 Tutorial is a beginner level PDF e-book tutorial or course with 18 pages. It was added on July 24, 2014 and has been downloaded 16948 times. The file size is 720.87 KB. It was created by unknown.


Learning PHP

The Learning PHP is a beginner level PDF e-book tutorial or course with 603 pages. It was added on March 27, 2019 and has been downloaded 8307 times. The file size is 2.29 MB. It was created by Stack Overflow Documentation.


Learning Bash

The Learning Bash is a beginner level PDF e-book tutorial or course with 262 pages. It was added on June 15, 2019 and has been downloaded 5057 times. The file size is 993.06 KB. It was created by Stack Overflow Documentation.


it courses